Excel VBA在Combobox中传递值的ID

时间:2014-02-04 10:54:54

标签: excel vba identifier

寻找有关将值的Id传递给excel VBA中的参数的最佳方法的建议。

基本上我正在尝试复制获取值而不是文本本身,例如在html中:

<option value="1">Option one</option>

将返回1.我可以将Id连接到字符串的开头或结尾,例如:

.additem varList(0, 1) & " | " & varList(1, 1)

但如果有意义,我正在寻找一个“更清洁”的选择?

干杯

1 个答案:

答案 0 :(得分:6)

创建至少包含2列的组合框。这可以使用ColumnCount属性,VBE或VBA代码进行设置。

enter image description here

然后,您可以调整ColumnWidths属性,使其中一列的宽度为0,这样就不会向用户显示/显示。

当您填充组合框时,只需将ID放在ComboBox的一列中,然后将该值放在另一个可见列中。除非您调整列宽

,否则界面将如下所示

enter image description here

使用ComboBox的BoundColumn返回适当的值,或者您可以对选定的项进行一些迭代并参考索引位置:

Debug.Print Me.ComboBox.List(0, 0)  '# Display the first row item in the first column

Debug.Print Me.ComboBox1.List(0, 1)  '# Display the first row item in the SECOND column