为什么我的 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()
事件代码。
我创建了一个简单的 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()
事件代码。