用户窗体上的组合框仅在取消第一次尝试后填充
Combobox on userform populating only after cancelling first attempt
我在模块中有一段代码:
UserForm1.Show
UserForm1.ComboBox1.clear
UserForm1.ComboBox2.clear
UserForm1.ComboBox1.List = Array("xxxxxxx", "xfdshthr", "tyetrert")
用户 运行 使用此代码调出带有 2 个组合框的用户窗体,用户在第一个组合框中输入新值后需要清除第二个组合框。
奇怪的是,当我 运行 这个脚本时,第一个组合框没有填充,所以我单击表单上的取消按钮 (unload me
) 并再次 运行 上面的代码。这次组合框按预期填充。每次都会这样。
有人知道是什么原因造成的吗?
因为你运行错误的程序:
在用户表单中填充 combobox/listbox 必须在加载用户表单时完成。首选事件是 Userform_Initialize。
所以在设计模式中填写该事件:
Private Sub Userform_Initialize()
combobox1.list=array("aaa","bbb","ccc")
End Sub
完成后,命令 'Userform1.show' 将自动 运行 事件代码并填充组合框。
我在模块中有一段代码:
UserForm1.Show
UserForm1.ComboBox1.clear
UserForm1.ComboBox2.clear
UserForm1.ComboBox1.List = Array("xxxxxxx", "xfdshthr", "tyetrert")
用户 运行 使用此代码调出带有 2 个组合框的用户窗体,用户在第一个组合框中输入新值后需要清除第二个组合框。
奇怪的是,当我 运行 这个脚本时,第一个组合框没有填充,所以我单击表单上的取消按钮 (unload me
) 并再次 运行 上面的代码。这次组合框按预期填充。每次都会这样。
有人知道是什么原因造成的吗?
因为你运行错误的程序:
在用户表单中填充 combobox/listbox 必须在加载用户表单时完成。首选事件是 Userform_Initialize。 所以在设计模式中填写该事件:
Private Sub Userform_Initialize()
combobox1.list=array("aaa","bbb","ccc")
End Sub
完成后,命令 'Userform1.show' 将自动 运行 事件代码并填充组合框。