1

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

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

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

我决定尝试使用:

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

但结果是这样的:

在此处输入图像描述

因为它应该是一个相邻的(mew 1 £3.50),而不是一个在另一个之上。

4

1 回答 1

3

您需要指定列表框的列数和列宽,以防您希望它表现得像多列列表框。

试试这个

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

在此处输入图像描述

编辑:评论的跟进。

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

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

这就是你会得到的

在此处输入图像描述

于 2013-11-08T12:36:41.593 回答