【问题标题】:Assigning values to Combo box in excel VBA在excel VBA中为组合框赋值
【发布时间】:2014-09-03 02:41:46
【问题描述】:

我正在尝试将组合框的值设置为 0、1 和 2(硬编码值而不是单元格引用),但它似乎不起作用。我尝试设置RowSourceType" to 1 and toValue List`,但每次都会出现编译错误。例如下面的代码不起作用:

Private Sub UserForm_Initialize()
Me.errorComboBox.RowSourceType = "Value List"
Me.errorComboBox.RowSource = "0;1;2"
End Sub

Private Sub UserForm_Initialize()
Me.errorComboBox.RowSourceType = 1
Me.errorComboBox.RowSource = "0;1;2"
End Sub

我在RowSourceType 行上都遇到了错误。我该怎么做?

【问题讨论】:

  • djikay 的答案似乎是正确的。此外,您使用的语法似乎在 Access 中是正确的。我敢肯定造成这种差异是有原因的,但这有点令人恼火。

标签: vba excel combobox listbox


【解决方案1】:

要在 Excel 中静态填充组合框的列表,请尝试以下操作:

Me.errorComboBox.List = Array("0", "1", "2")

This SO question 包含链接和其他示例来实现您想要的。

【讨论】:

  • 要添加到这一点,它应该在用户窗体初始化事件上完成。虽然完美。您还可以使用 .addItem 方法添加单个值。刚刚发现了这一点。谢谢。
  • RowSource 实际上可以在 Excel 中使用。语法是字符串地址,例如Me.ComboBox1.RowSource = "A1:A10",它将在 ActiveSheet 中使用该范围。 RowSource 通常不是要走的路,但它是包含列标题的唯一方法。 RowSourceType 似乎确实无法使用,所以我不确定它为什么会在那里。
  • @DougGlancy:很高兴知道,谢谢。编辑了我的答案,以免其他人感到困惑。
  • 你打赌。将我的“-”更改为“+”。列表是要走的路。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-24
相关资源
最近更新 更多