从几个文本框(V​​BA)填充列

我需要一个VBA脚本的帮助。 我们的老师告诉我们使用:

ListBox1.AddItem ComboBox1.Text And Val(TextBox4.text) And ListBox1.AddItem FormatCurrency(price, 2) 

它应该显示ComboBox1的名称,来自TextBox4的数量和来自TextBox5的价格(格式化为“价格”variables),但它给我一个错误。

我决定尝试使用:

 ListBox1.AddItem ComboBox1.Text ListBox1.AddItem Val(TextBox4.Text) ListBox1.AddItem FormatCurrency(price, 2) 

但结果是这样的:

在这里输入图像说明

它应该是一个紧挨着另一个的那个(1欧元3.50欧元),而不是一个在另一个之上。

您需要指定列表框的列数和列宽,以防您想要像多列列表框一样工作。

尝试这个

 Option Explicit Private Sub UserForm_Initialize() ListBox1.ColumnCount = 3 ListBox1.ColumnWidths = "50;50" End Sub Private Sub CommandButton1_Click() With ListBox1 .AddItem .List(.ListCount - 1, 0) = ComboBox1.Text .List(.ListCount - 1, 1) = Val(TextBox4.Text) .List(.ListCount - 1, 2) = FormatCurrency(price, 2) End With End Sub 

在这里输入图像描述

编辑 :后续从评论。

您不应使用&的原因是因为如果您有多行,列中的数据将不会alignment。 看到这个例子

 Private Sub CommandButton1_Click() With ListBox1 .AddItem "Sid" & " " & "Rout" & " " & "Sample" .AddItem "Hello" & " " & "World" & " " & "Sample" .AddItem "Another" & " " & "Example" & " " & "Sample" .AddItem "Yet" & " " & "another" & " " & "Sample" End With End Sub 

这就是你将会得到的

在这里输入图像描述