我的ComboBox没有显示我在VBA中添加的值

时间:2014-06-14 12:12:18

标签: excel vba excel-vba combobox userform

我尝试将选项添加到用户表单中的组合框。当我运行代码时,Excel不会给出任何错误,但是当用户窗体显示时,它不会显示我之前添加到组合框中的实体。也就是说,当我点击组合框时,它没有显示任何选项,只显示一个空白行,就好像没有添加任何项目一样。

以下是我使用的代码:

Private Sub UserForm_Initialize()
    ComboBox1.AddItem "xxx"
    ComboBox1.AddItem "yyy"
    ComboBox1.AddItem "zzz"
End Sub

我使用以下代码在宏中调用用户表单:

UserForm.Show

3 个答案:

答案 0 :(得分:2)

问题中给出的代码非常有效。就我而言,代码没有用,因为我手动将这部分代码输入VBA:

Private Sub UserForm_Initialize()

如果您让Excel为您创建此模块而不是自己编写,那么您的代码应该可以正常运行。 Excel没有"初始化"作为默认表单,所以我尝试了#34;激活"它起作用了。

要创建此模块,您必须执行以下步骤:

  1. 右键单击用户表单
  2. 点击查看代码
  3. 在最上面你会看到两个你可以选择的类别,你应该选择" Userform"和#34;激活",完成此步骤后,必须在代码中添加一个新模块。
  4. 在此模块中,您可以编写有关组合框内容的所有内容。
  5. 你也应该对组合框的拼写小心,如果拼写不正确,你可能无法看到组合框的内容。

答案 1 :(得分:0)

确保您发布的代码段位于userform中。

右键单击VBA视图中的用户表单,然后选择“查看代码”。这是代码的位置吗?

您确定用户表单被称为'UserForm'而不是'UserForm1'吗? 'UserForm1'是默认值,类似于'ComboBox1'。

以下对我有用。

'in the UserForm1 code
Private Sub UserForm_Initialize()
ComboBox1.AddItem "xxx"
ComboBox1.AddItem "yyy"
ComboBox1.AddItem "zzz"
End Sub

以下将显示表格。

UserForm1.Show

这是工作簿中唯一的表单吗?创建一个新的,看它是否做同样的事情。

答案 2 :(得分:0)

这里有同样的问题,但是我解决了将ColumnWidths属性设置为-1(它设置为0)的问题。