我怎样才能指定一个列来填补Excel Combobox?

第一次在这里问,很抱歉,如果你觉得烦人。 我一直在试图用一个DB过程的结果集来填充Excel工作表中的ComboBox。 到目前为止,我已经正确地收到了结果集,但是当我尝试指定要用来设置combobox值(响应的第三个)的列时,它始终使用id(第一列),甚至当我使用.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版本问题(我用西class牙语使用MS Excel 2010)?

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