Excel VBA在多列组合框中选择项目

时间:2015-09-25 13:43:49

标签: excel vba combobox

我有一个组合框,其中包含来自Access数据库的信息。我有一个方法,使用ADO Recordset打开记录。我有一个多列组合框,我想从表单上的填充列表中选择一个值。对于单列组合框,使用value属性填充表单上显示的值,如下所示。

 frmDataEntry.txtProcessID = sourceRS.Fields("ProcessID").Value

我在填充多列组合框时遇到问题,因为Value属性不起作用。

Do Until y >= frmDataEntry.cmbProcess.listCount
     If frmDataEntry.cmbProcess.List(y, 0) = sourceRS.Fields("ProcessID").Value Then
        'This is where i'd like to set the value
    End If
    y = y + 1
Loop

在上面的代码中,如果这是一个列表框,我将使用.Selected(y) = True属性,但这不适用于组合框。有人有什么建议吗?我已经到处搜索,但似乎无法找到一种方法来做到这一点,而不会消除组合框的填充列表。

2 个答案:

答案 0 :(得分:1)

我不确定您要执行的操作,但如果您的问题是显示已添加的值,frmDataEntry.cmbProcess.ListIndex = y将完全针对0 <= y < ListCount执行此操作

答案 1 :(得分:0)

通常这就是我的工作。我将值放入一个数组然后执行此操作:

Dim MyArray() As String 
'Here you want to populate MyArray
With Me.combobox1 
    .ColumnCount = 2 
    .BoundColumn = 2 
    .ColumnWidths = "2.5 in; 0 in" 
    .List = MyArray 
End With