我有一个组合框,其中包含来自命名区域的200多个值,用户可以选择 选择或中的任何一个或自由输入任何值其他值进入组合框。这很好。
我的问题是我无法用我的VBA代码中的字符串变量中指定的值填充相同的组合框。我想做以下事情:
Sub FillInComboBox()
Dim strExample as String
strExample = "Random Text"
Worksheets("Sheet1").Shapes("ComboBox1").Value = strExample
End Sub
我得到“运行时错误”438:对象不支持此属性或方法“。 我也尝试了上面代码的很多变化,我用Google搜索了两个小时没有成功,所以我现在转向你,这是我最后的希望让这个工作。
答案 0 :(得分:2)
使用以下子。
Sub FillInComboBox()
Dim strExample As String
strExample = "Random Text"
With Sheet1.ComboBox1
.AddItem strExample
.AddItem "Second Item"
.AddItem "Third Item"
End With
End Sub
答案 1 :(得分:0)
我自己解决了这个问题:
Worksheets("Sheet1").OLEObjects("ComboBox1").Object.Value = strExample
答案 2 :(得分:0)
看起来您正在使用ActiveX ComboBox
。有几种方法可以达到你想要的效果。
将ComboBox的LinkedCell
属性设置为所需的属性
位置(即使在隐藏的工作表上)。
Worksheets("Sheet1").Shapes("ComboBox1").LinkedCell = "C1"
boxValue = Range("C1")
Range("C1") = "custom entry"
直接访问ActiveX控件 对象 。
msgbox Worksheets("Sheet1").ComboBox1.Value
Name
属性中设置的控件的名称。Worksheets("Sheet1").ComboBox1.Value = strExample
无论哪种方式都可以访问控制数据。