Vba:解决COMBOBOX

时间:2015-05-12 03:39:05

标签: vba

基本上我使用vba语言在userform中有两个组合框。我的问题是我想根据组合框1中的用户选择在combobox2中自动显示数据。对vba语言有什么建议吗?

Private Sub UserForm_Initialize()
Dim Student() As Variant
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Student = Selection
Me.ComboBox1.List = Student
End Sub

1 个答案:

答案 0 :(得分:0)

以下是此类链接选项的基础知识:

您的代码,没有无用(和贪婪).select,可以更好地获取上次使用的行并使用.Value为数组指定范围:

Private Sub UserForm_Initialize()
Dim Student() As Variant
    Student = Range(Range("A2"), Range("A" & Rows.Count).End(xlUp)).Value
    Me.ComboBox1.List = Student
End Sub

还有一部分你需要继续努力:

当您更改 ComboBox1的值时,它会启动该代码,因此您需要刷新中建议的值ComboBox2使用您自己的测试,因为我们不知道您在做什么。

Private Sub ComboBox1_Change()
Dim RestrictedChoices()
Me.ComboBox2.Clear 'Clear all previously added elements
Me.ComboBox2.Value=vbNullString 'Set active value as an empty string

'------Here is where you need to do your tests-------
'if Me.ComboBox1.Value<> ?? then
'Else
    Me.ComboBox2.AddItem "Array filled or item, after test on Me.ComboBox1.Value"
'End If

End Sub