VBAでシステムを作っています。
リストボックス内の列をダブルクリックして、メッセージボックスに表示させたいです。
発生している問題・エラーメッセージ
型が一致していません
該当のソースコード
Private Sub ok_Click() Dim lastRow As Long Dim myData, myData2(), myno Dim i As Long, cn As Long With Worksheets("入力画面") lastRow = .Cells(Rows.Count, 1).End(xlUp).Row myData = .Range(.Cells(1, 1), .Cells(lastRow, 11)).Value End With ReDim myData2(1 To lastRow, 1 To 11) For i = LBound(myData) To UBound(myData) If myData(i, 1) Like "*" & date1.Value & "*" And myData(i, 2) Like "*" & den.Value & "*" _ Then cn = cn + 1 myData2(cn, 1) = myData(i, 1) myData2(cn, 2) = myData(i, 2) myData2(cn, 3) = myData(i, 3) myData2(cn, 4) = myData(i, 4) myData2(cn, 5) = myData(i, 5) myData2(cn, 6) = myData(i, 6) myData2(cn, 7) = myData(i, 7) myData2(cn, 8) = myData(i, 8) myData2(cn, 9) = myData(i, 9) myData2(cn, 10) = myData(i, 10) myData2(cn, 11) = myData(i, 11) End If Next i With ListBox1 .ColumnCount = 11 .ColumnWidths = "30;30;30;30;30;30;30;30;30;30;30" .List = myData2 End With End Sub Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Dim r1 As Variant Dim r2 As Variant With Worksheets("入力画面") r1 = .Range(.Cells(ListBox1.List(ListBox1.ListIndex, 0) + 1, 1), .Cells(ListBox1.List(ListBox1.ListIndex, 0) + 1, 11)) r2 = WorksheetFunction.Transpose(WorksheetFunction.Transpose(r1)) MsgBox Join(r2, "") End With End Sub Private Sub UserForm_Initialize() Dim lastRow As Long Dim myData10, myData12() Dim i As Long Dim cn As Long With Worksheets("入力画面") lastRow = .Cells(Rows.Count, 1).End(xlUp).Row myData10 = .Range(.Cells(1, 1), .Cells(1, 11)).Value End With ReDim myData12(1 To lastRow, 1 To 11) For i = LBound(myData10) To UBound(myData10) cn = 1 myData12(cn, 1) = myData10(i, 1) myData12(cn, 2) = myData10(i, 2) myData12(cn, 3) = myData10(i, 3) myData12(cn, 4) = myData10(i, 4) myData12(cn, 5) = myData10(i, 5) myData12(cn, 6) = myData10(i, 6) myData12(cn, 7) = myData10(i, 7) myData12(cn, 8) = myData10(i, 8) myData12(cn, 9) = myData10(i, 9) myData12(cn, 10) = myData10(i, 10) myData12(cn, 11) = myData10(i, 11) Next i With ListBox1 .ColumnCount = 11 .ColumnWidths = "30;30;30;30;30;30;30;30;30;30;30" .List = myData12 End With End Sub
補足情報
入力画面というエクセルのワークシートから取り出したいです。
リストボックスの項目数は11項目(金額、メーカー等)有ります。
A1:A11といった形で抽出したいです。
このコード自体が問題なのか、それ以外が問題なのかわかりません。
追記
自分で探した方が簡単そうなので自分でやりますね
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/06 00:42
2018/11/06 00:51
2018/11/06 01:07
2018/11/06 01:16
2018/11/06 01:20
2018/11/06 01:21
2018/11/06 01:51
2018/11/06 01:57
2018/11/06 02:00
2018/11/06 04:47