Reverse ComboBox:如何基于变量值在ActiveX组合框中编程选中对应条目
多列ComboBox按隐藏列值选中条目解决方案
错误原因
你遇到的运行时错误380是因为多列ComboBox的Value属性默认和BoundColumn(绑定列)属性指定的列关联,你的ComboBox绑定列默认是第1列(即存储emp_id的隐藏列,数值类型),你尝试给Value赋值第2列的文本内容,类型不匹配导致属性值无效。
解决方案
方案1(推荐):直接设置选中行索引ListIndex
找到匹配行的索引后直接赋值即可,会自动显示可见列的对应内容,兼容性最强,不受列宽、绑定列设置影响:
empSysID = 3 '~对应Sylvester S. With .ComboBoxEmployee For i = 0 To .ListCount - 1 If .Column(0, i) = empSysID Then .ListIndex = i Exit For End If Next i End With
方案2:通过Value属性赋值
如果需要使用Value属性实现,赋值时传入绑定列(即emp_id所在列)的对应值即可:
empSysID = 3 '~对应Sylvester S. With .ComboBoxEmployee For i = 0 To .ListCount - 1 If .Column(0, i) = empSysID Then .Value = .Column(0, i) Exit For End If Next i End With
内容的提问来源于stack exchange,提问作者ChaosPH
相关产品推荐
相关产品推荐

