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 に答える