仅在取消首次尝试后填充userform上的组合框

时间:2015-01-30 10:20:14

标签: excel-vba combobox userform vba excel

我在模块中有一段代码:

UserForm1.Show
UserForm1.ComboBox1.clear
UserForm1.ComboBox2.clear
UserForm1.ComboBox1.List = Array("xxxxxxx", "xfdshthr", "tyetrert")

用户运行此代码以显示具有2个组合框的用户表单,其中第二个需要在用户在第一个组合框中输入新值后清除。

当我运行此脚本时,第一个组合框不会填充,所以我单击表单上的取消按钮(unload me)并再次运行上面的代码。这次组合框按预期填充。每次都会发生这种情况。

有谁知道造成这种情况的原因是什么?

1 个答案:

答案 0 :(得分:0)

因为你运行了错误的程序:

在加载userform时,必须在userform中填充组合框/列表框。首选的事件是Userform_Initialize。 所以在设计模式中填写该事件:

Private Sub Userform_Initialize()
  combobox1.list=array("aaa","bbb","ccc")
End Sub

执行此操作后,“Userform1.show”命令将自动运行事件代码并填充组合框。