我可以单击我的ComboBox并查看Column1和Column2的值,但是在我单击ComboBox后,将始终显示Column1中的值,并且我希望显示Column2的值。
我试过了:
With ComboBox2
.Value = "None"
.ColumnHeads = True
.ColumnCount = 2
.ColumnWidths = "50;100"
.RowSource = "SetupQuestions!A42:B48"
.BoundColumn = 2
End With
没有像我想的那样设定价值。
我试过了:
Private Sub ComboBox2_AfterUpdate()
ComboBox2.Value = ComboBox2.Column(2)
End Sub
没有像我想的那样设定价值。
如何在选择后强制ComboBox在Column2中显示值?
答案 0 :(得分:1)
ComboBox的DropList可以显示多列,但是选择一行后,它只能显示一列为Text。要显示第二列,请使用属性TexColumn。
Me.ComboBox1.TextColumn = 2
答案 1 :(得分:0)
哎呀!它不是.Value
它的.Text
Private Sub ComboBox2_AfterUpdate()
Me.ComboBox2.text = Me.ComboBox2.Column(1)
End Sub
答案 2 :(得分:0)
如果您只关心外观,则有解决方法
Private Sub ComboBox2_Click()
With ComboBox2
.Text = .List(.ListIndex, 0) & " | " & .List(.ListIndex, 1)
End With
End Sub
答案 3 :(得分:0)
我刚来这里是因为我也想解决这个问题。但其他人的回应帮助我找到了答案。 如果你还没有得到它,这是我的解决方案。
Private Sub ComboBox_AfterUpdate()
ComboboxList.Text = ComboboxList.Column(0) & " " & ComboboxList.Column(1)
End Sub
答案 4 :(得分:0)
使用组合框右侧的文本字段。将组合框中的列数设置为2。 将列表宽度设置为组合和文本大小的总和(a + b) 设置列宽度为组合的大小和文本的大小(a; b) 由于columns属性是基于0的列数组,因此将文本字段的源设置为“ = [MyCombo] .Columns(1)”以显示第二个字段。 下拉菜单时,第一列应恰好在组合框下方,第二列应恰好在文本框下方。 当您更新组合时,文本框应相应地更新其值。 另外,您可能需要将文本框属性设置为true并启用为false。