Vba 根据combobox在文本框中获取值

Vba 根据combobox在文本框中获取值,vba,Vba,我到处寻找这个问题的答案。很多地方都很接近我需要的东西,但我尽可能地尝试,却找不到我真正需要的东西。好了,开始吧。我在用户窗体上有一个组合框,可以从表中读取值。当用户进行选择时,根据选择在表格下方的距离,我希望文本框显示两个字符串中的一个。我目前使用的切换按钮似乎有点“笨重”。我是vba的新手,所以请对我温柔一点 Me.textbox.Value = Me.combobox.Value 将为您提供所选行的有界列的值,通常是第一行(例如,如果您的组合框显示ID;LastName;PreName等

我到处寻找这个问题的答案。很多地方都很接近我需要的东西,但我尽可能地尝试,却找不到我真正需要的东西。好了,开始吧。我在用户窗体上有一个组合框,可以从表中读取值。当用户进行选择时,根据选择在表格下方的距离,我希望文本框显示两个字符串中的一个。我目前使用的切换按钮似乎有点“笨重”。我是vba的新手,所以请对我温柔一点

Me.textbox.Value = Me.combobox.Value
将为您提供所选行的有界列的值,通常是第一行(例如,如果您的组合框显示ID;LastName;PreName等数据,则会显示ID)

如果要显示除有界列以外的其他列,请使用

Me.textbox.Value = Me.combobox.Column(n)
(n表示列,第一列从0开始,第二列从1开始,…)

因此,如果您想显示上一个示例的姓氏,请使用

Me.textbox.Value = Me.combobox.Column(1)
如果您只想在字符串不适合combobox列时显示该字符串,我会将其设置为

If Len(Nz(Me.combobox.Column(1))) > n Then
    Me.textbox.Value = Me.combobox.Column(1)
Else
    Me.textbox.Value = Null
End If

可能还有另一个解决方案,但这将是一个简单的解决方案

谢谢你的回复,但不完全是我想要的。让我试着解释清楚一点。组合框提供了表1中的24个选项,根据所做的选择,文本框需要显示表2中的2个选项中的1个。