0

我通过 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
4

1 回答 1

0

双击表单的空白区域并将代码放在那里。它不起作用的原因是您在访问列表时正在填充列表。您应该在显示列表之前填充它。

于 2021-04-08T12:54:11.110 回答