基本上我使用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
答案 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