【发布时间】:2021-04-08 12:07:09
【问题描述】:
我通过 ui 制作了一个组合框,然后双击它以转到其 VBA 代码。 然后我插入了这段代码。 我想从工作表 5 中名为“产品”的列 D 中取出单词并将其插入组合框中。
Private Sub ComboBox1_Change()
Dim c As Range
ComboBox1.Clear
With Worksheets(5)
For Each c In .Range(.Range("D5"), .Range("D" & .Rows.Count).End(xlUp))
If c.Value <> vbNullString Then ComboBox1.AddItem c.Value
Next c
End With
End Sub
当我这样做时,不会发生。组合框只是空的。
更新: 试试这个,它不起作用。
Private Sub ComboBox1_Change()
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range
With Worksheets(5)
For Each c In .Range(.Range("D5"), .Range("D" & .Rows.Count).End(xlUp))
If c.Value <> vbNullString Then ComboBox1.AddItem c.Value
Next c
End With
End Sub
【问题讨论】:
-
你为什么要从组合框更改事件中这样做?它只会不断触发自身并清除所有条目。
-
您确定您的意思是
vbscript而不是VBA?