2017-10-05 65 views
0

我在一个按钮上获取以下代码,该按钮将用户窗体上的列表框中的选定范围粘贴到表格(“VBA_Data”)。Range(“AY1”)。将多个选定的列表框值设置为单元格值

这只适用于一个选择,并且如果您在列表框中选择多个选择,它将只将第一个值添加到单元格AY1。

我想要修改代码,以便它将在列表框中添加所有选定的值,其中一个从AY1开始添加到AY列中的每个单元格。列表框的范围是可变的,所以这可以用于任意数量的选择。

Private Sub CommandButtonRemoveSelectedProjects_Click() 

Dim selectioncount As Long 
selectioncount = ListBoxProjectsToRemove.Selected(i) 

Set TxtRng = ActiveWorkbook.Sheets("VBA_Data").Range("AY1") 

For i = 0 To ListBoxProjectsToRemove.ListCount - 1 
If ListBoxProjectsToRemove.Selected(i) Then 
    SelectedItemText = ListBoxProjectsToRemove.List(i) 
End If 
Next i 

TxtRng.Value = SelectedItemText 

End Sub 

回答

0

您可以简单地将目标范围更改为下一个单元格。

Set TxtRng = ActiveWorkbook.Sheets("VBA_Data").Range("AY1") 

For i = 0 To ListBoxProjectsToRemove.ListCount - 1 
    If ListBoxProjectsToRemove.Selected(i) Then 
     TxtRng.Value = ListBoxProjectsToRemove.List(i) 
     Set TxtRng = TxtRng.Offset(1) 
    End If 
Next i 
+0

这工作完美,谢谢。 – pwm2017

+0

欢迎您。感谢您接受我的回答 – 2017-10-05 06:53:43

相关问题