从几个文本框(VBA)填充列
我需要一个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
这就是你将会得到的