如何指定填充Excel组合框的列?

时间:2015-05-19 15:22:06

标签: excel vba excel-vba combobox

第一次问这里,很抱歉,如果你发现它很烦人。 我一直在尝试用Excel程序的结果集填写Excel表格中的ComboBox。到目前为止,我已经正确地收到了结果集,但是当我尝试指定我想用来设置组合框值(响应的第3个)的列时,它会继续使用id(第1列),甚至当我使用.BoundColumn命令时如下:

cmd.ActiveConnection = conn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "mySP"

Set rst = cmd.Execute()

With rst
    i = .Fields.Count
    vData = .GetRows
End With

With Sheet1
    With .ComboBoxP
        .Clear
        .BoundColumn = 3
        .List = Application.Transpose(vData)
        .ListIndex = -1
    End With
    .ComboBoxP.Text = "-- Pick one --"
End With

命令顺序是否有问题导致代码始终使用相同的列?可能是Excel版本问题(我正在使用西班牙语的MS Excel 2010)?

1 个答案:

答案 0 :(得分:0)

您应该使用TextColumn属性来设置向用户显示的值。 BoundColumn属性设置在用户进行选择后读取控件的Value属性时代码获得的值。