使用vba获取activex组合框的选定值

时间:2012-01-31 16:17:51

标签: excel vba excel-vba

如何获得组合框的选定值?

我有一个组合框,其值为“公司”和“消费者”。

我想获取我选择的值,而不是索引,并存储在字符串中。

类似的东西:

 string a = combobox.value;

(a - >消费者)

谢谢

2 个答案:

答案 0 :(得分:6)

如果您的ComboBox嵌入在电子表格中,您可以使用:

Dim ws as Worksheet
Dim cboCorpConsumer as ComboBox
Dim a as String

Set ws = Worksheets("YourWorksheetName")
Set cboCorpConsumer = ws.OLEObjects("cboNameFromActiveXProperties").Object

a = cboCorpConsumer.Value

或者在一行中:

a = Worksheets("YourWorksheetName").OLEObjects("cboNameFromActiveXProperties").Object.Value

答案 1 :(得分:1)

Value在VBA中有一个大写“V”,但假设combobox是您在屏幕上创建的ComboBox的名称,那么您的代码将起作用(除了您的赋值语句错误) ; 见下文)。如果您不知道ComboBox的名称是什么,则可能是ComboBox1。要检查,请查看VBA属性窗口中的Name属性。

试试这个:

Dim a as String

a = combobox.Value