为什么我的 VBA ComboBox 在我输入之前是空白的

Why is my VBA ComboBox blank until I type

我创建了一个简单的 UserForm ComboBox,其中包含一个项目列表:

Private Sub CourseComboBox_Change()
CourseComboBox.List = Sheets("Course Lists").Range("G2:G15").Value
End Sub

当我 运行 UserForm 时,下拉列表显示为空,直到我输入内容。此时显示完整列表供我选择。是不是我做错了什么导致 ComboBox 中的文本在我输入之前不显示?

我尝试添加 CourseComboBox.ListIndex = 0(这里以前的解决方案),但没有效果。

我认为问题是当组合框发生变化(即组合框的 Change 事件)时,您正在加载组合框的内容,而您应该在 UserForm_Initialize() 上加载组合框改为事件处理程序。

尝试移动这条线:

CourseComboBox.List = Sheets("Course Lists").Range("G2:G15").Value

到这里:

Private Sub UserForm_Initialize()
    CourseComboBox.List = Sheets("Course Lists").Range("G2:G15").Value
End Sub

并删除其他 CourseComboBox_Change() 事件代码。