用户窗体上的组合框仅在取消第一次尝试后填充

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' 将自动 运行 事件代码并填充组合框。