一つの値の完全一致検索は、FindメソッドやStrComp関数で何とかできたのですが、複数のセルの完全一致が自分には難しくて出来ずにいます。配列を使えばいいのだろうかと思うのですがArrayについてきちんと理解できておらず、下記コードを実行するとIf myArray(1) = myArray(2) Then
で「型が一致しません」とエラーがでてしまいます。(たぶん、体をなしていないと思います)
改善方法または別に方法がございましたら教えていただきたく思います。どうぞよろしくお願いいたします。
vba
1Sub SearchArray() 2 Dim ws(1 to 2) As Worksheet, myArray(1 to 2) As Variant _ 3 i As long, j As long, k As long 4 5 Set ws(1) = Worksheets("シート1") 6 Set ws(2) = Worksheets("シート2") 7 8 '検索対象(シート1のA~E)を指定 9 With ws(1) 10 i = 1 11 j = .Cells(Rows.Count, 1).End(xlUp).Row 12 myArray(1) = Array(.Range("A" & i), .Range("B" & i), .Range("C" & i), .Range("D" & i), .Range("E" & i)) 13 End With 14 15 '検索にかける値(シート2の最終行のD~H)を取得 16 With ws(2) 17 k = .Cells(Rows.Count, 1).End(xlUp).Row 18 myArray(2) = Array(.Range("D" & k), .Range("E" & k), .Range("F" & k), .Range("G" & k), .Range("H" & k)) 19 End With 20 21 '検索を実行して一致する行を取得 22 For i = 1 To j 23 If myArray(1) = myArray(2) Then myArray(1).EntireRow.Select 24 Next i 25End Sub 26
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/03 02:15 編集
2018/07/03 02:17
2018/07/03 02:38