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

How can I specify a column to fill an Excel Combobox?

第一次在这里提问,如有不便,敬请谅解。 我一直在尝试用数据库过程的结果集填充 Excel Sheet 中的 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)?

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