リストボックス複数列の表示について


ケクレ  2008-07-27 19:28:18  No: 140152

テキストボックスに入力した値をワークシート商品データと比較して(mで商品データを繰り返し参照してます)、その値があった場合、リストボックス3に表示するプログラムを作りたくて色々試したのですが、どうしてもうまくいきません。
理想的には、リストボックスの(0,0)に商品と(0,1)に値段に値を入力した後、1行ずらして(1,0)(1,1)…と商品リストを表示していきたいのですが、(0,0)と(0,1)しか表示されず行が追加されていきません。
i=i+1
じゃ追加されないんでしょうか??
プログラムも初心者でめんどくさいやり方してると思いますが、とりあえず動くようにしたいのでよろしくおねがいします。

Private Sub TextBox3_Change()
    Dim m As Integer
    Dim i As Integer
    Dim j As Integer
    i = 0
    Dim mylist() As Variant

    Worksheets("データ").Cells(3, 1) = TextBox2.Text
    Worksheets("データ").Cells(1, 2) = TextBox3.Text
    
    For m = 2 To 131
        
       
            If Worksheets("商品データ").Cells(m, 2) = TextBox3.Text Then
            
                
                ReDim mylist(10, 1)
                ListBox3.ColumnCount = 2
                ListBox3.ColumnWidths = "150;50"
            
                mylist(i, 0) = " " & Worksheets("商品データ").Cells(m, 3)
                mylist(i, 1) = " \ " & Worksheets("商品データ").Cells(m, 5)
                i = i + 1
                
                ListBox3.List = mylist
                
                Label5.Caption = Worksheets("商品データ").Cells(m, 3)
                Label7.Caption = Worksheets("商品データ").Cells(m, 5)
                ListBox1.AddItem " " & Worksheets("商品データ").Cells(m, 3) + vbTab + "名前" '+ vbTab + "電話番号" '(Worksheets("商品データ").Cells(m, 3))
                ListBox2.AddItem (Worksheets("商品データ").Cells(m, 5))
                Worksheets("データ").Cells(1, 1) = Worksheets("データ").Cells(1, 1) + Worksheets("商品データ").Cells(m, 5)
            
                TextBox3.Text = ""
                
                Label21.Caption = Worksheets("データ").Cells(1, 1)
                Worksheets("データ").Cells(6, 1) = Worksheets("データ").Cells(1, 1) * 0.05
                Worksheets("データ").Cells(7, 1) = Application.RoundDown(Worksheets("データ").Cells(6, 1), 0)
                Label9.Caption = Worksheets("データ").Cells(7, 1)
                Worksheets("データ").Cells(8, 1) = Label21.Caption
                Label12.Caption = Worksheets("データ").Cells(8, 1) + Worksheets("データ").Cells(7, 1)
                Worksheets("データ").Cells(9, 1) = Label12.Caption
                
            End If
           
     Next m
     
End Sub


特攻隊長まるるう  2008-08-01 05:28:09  No: 140153

1行1行ステップ実行してデバッグした結果は?
TextBox3_Change()でイベントが始まって
>TextBox3.Text = ""
のコードを実行しちゃってるけど、再度イベントが
起こってしまうのは意図通りなの?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加