アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になってます。

入力フォームのTextBox1(=By) に文字を入力し検索ボタンを押すと
「data」シートのE列から あいまい一致 した行の中から、指定の4列がリストボックス
に表示されるようにしたいです。

E列以外は数値のため、数字で検索すると思い通りのデータが抽出されます。
が、E列の文字検索だと「13 型が一致しません」となります。
配列がわからず、どこを直せばよいのか四苦八苦しております。
よろしくお願いします。

Private Sub CommandButton1_Click()

Dim lastRow As Long
Dim myData, myData2(), myno
Dim i As Long, j As Long, cn As Long
Dim By As String

With Worksheets("data")
lastRow = .Cells(Rows.Count, 2).End(xlUp).Row
myData = .Range(.Cells(1, 1), .Cells(lastRow, 8)).Value
By = UserForm3.TextBox1.Value
End With

ReDim myData2(1 To lastRow, 1 To 4)
For i = LBound(myData) To UBound(myData)
If myData(i, 5) Like "*" & By & "*" Then ←ここがエラーになります。
cn = cn + 1
myData2(cn, 1) = myData(i, 2)
myData2(cn, 2) = myData(i, 3)
myData2(cn, 3) = myData(i, 5)
myData2(cn, 4) = myData(i, 8)

End If
Next i

With ListBox1
.ColumnCount = 4
.ColumnWidths = "20;60;80;100"
.list = myData2
End With

End Sub

「VBA 配列で型がエラーになります。」の質問画像

A 回答 (11件中11~11件)

こんばんは、


検証しましたが、エラーは発生しませんでした。

ステップインまたは、If myData(i, 5) Like "*" & By & "*" Then の前に Stop を挿入するなどして
ローカルウィンドで Byなど各値を確認してみてください。
「VBA 配列で型がエラーになります。」の回答画像1
    • good
    • 0
この回答へのお礼

検証ありがとうございます。

ローカルウィンドで変数を確認しましたが、
By が式に表示されません。これがマズイのでしょうか。。。

まさにQchanさんの「田中」検索のようにしたかったのですが
どうにもなりませんでした(泣)無念です。

お礼日時:2020/03/02 10:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!