Vba 组合框能否在其文本框部分显示多个列?

Vba 组合框能否在其文本框部分显示多个列?,vba,combobox,Vba,Combobox,我的组合框中有一个两列列表,当我使用下拉列表选择其中一个项目时,它只存储(我在组合框的文本框部分看到的)我选择的值(根据boundcolumn,它是右列还是左列) 我的问题是:有没有一种方法可以在combobox的textbox部分存储(或显示,这是我的目标)选中一行的两列 例如:[column1]丹尼尔[column2]史密斯。在文本框中,我想要:Daniel Smith(不仅仅是Daniel或他们自己的Smith)您可以设置一个组合框文本字段来使用多列数据,但您可能需要编写一些代码来完成 试

我的组合框中有一个两列列表,当我使用下拉列表选择其中一个项目时,它只存储(我在组合框的文本框部分看到的)我选择的值(根据boundcolumn,它是右列还是左列)

我的问题是:有没有一种方法可以在combobox的textbox部分存储(或显示,这是我的目标)选中一行的两列


例如:[column1]丹尼尔[column2]史密斯。在文本框中,我想要:Daniel Smith(不仅仅是Daniel或他们自己的Smith)

您可以设置一个组合框文本字段来使用多列数据,但您可能需要编写一些代码来完成


试试看

您可以设置一个组合框文本字段来使用多列数据,但可能需要编写一些代码来实现


试试你所描述的理论上是可能的,但有限制

即使你没有要求,我的想法还是来了:

如前所述,您可以更改组合框的
文本
,而无需更改其
。这允许您“存储”基础值,同时在一个字段中显示两列

收听并更改
文本
属性,如下所示:

Sub ComboBox1_SelectedIndexChanged()
    ComboBox1.Text = ComboBox1.Column(0) & "-" & ComboBox1.Column(1)
End Sub
(这只是一个基本示例。)现在无法测试它,但在.Net中,您可以使用
CType
sender
参数显式转换为ComboBox变量,并以这种方式访问它

无法将
Boundcolumn
属性更改为多个值。您可以尝试在文本字段中使用
VbTab
作为分隔符,但我不确定它将如何显示

编辑:


不要忘记默认值。我认为在用户第一次单击列表之前,您的文本字段应该同时显示两列

你所描述的理论上是可能的,但有限制

即使你没有要求,我的想法还是来了:

如前所述,您可以更改组合框的
文本
,而无需更改其
。这允许您“存储”基础值,同时在一个字段中显示两列

收听并更改
文本
属性,如下所示:

Sub ComboBox1_SelectedIndexChanged()
    ComboBox1.Text = ComboBox1.Column(0) & "-" & ComboBox1.Column(1)
End Sub
(这只是一个基本示例。)现在无法测试它,但在.Net中,您可以使用
CType
sender
参数显式转换为ComboBox变量,并以这种方式访问它

无法将
Boundcolumn
属性更改为多个值。您可以尝试在文本字段中使用
VbTab
作为分隔符,但我不确定它将如何显示

编辑:


不要忘记默认值。我认为在用户第一次单击列表之前,您的文本字段应该同时显示两列

我不是这个意思。我的意思是在单击组合框之前,在组合框的文本区域中显示两列。我不想看到combobox的texbox区域中的两列,而不仅仅是下拉区域。你知道我的意思吗-只是在文本框区域显示活动项的两列。这不是我的意思。我的意思是在单击组合框之前,在组合框的文本区域中显示两列。我不想看到combobox的texbox区域中的两列,而不仅仅是下拉区域。你知道我的意思吗-只需在文本框区域显示活动项的两列。是的,有一种方法可以存储它。请记住,您的程序必须知道如何再次拆分2列(如果您想标识数据集)。为已更改的索引添加EventHandler并加载文本字段中的第二列。是的,有一种方法可以存储它。请记住,您的程序必须知道如何再次拆分2列(如果您想标识数据集)。为已更改的索引添加EventHandler,并加载文本字段中的第2列。