ExcelVBAについて、セル内に打ち込まれた文字列の一部が同シート内のリストにある文字列の一部と一致すればピックアップするというマクロを組みたいのですが、うまくコードが思い浮かばなかったので質問させていただきます。
例えば以下のマクロの If ary(k, 2) = Cells(2, 8) Then の箇所で、ary(k,2)に"1880_1"、Cells(2,8)の箇所に"1880_2"と入力されていた場合、_前の1880が一致しているためそれをピックアップし別のセルに転記するという動作をさせたいです。
いろいろ調べたり考えたりしてみたもののいいコードが思いつかず。。
どうかご回答お願いいたします。
VBA
1Set outRng = Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp)) 2 ary = outRng 3 For k = LBound(ary) To UBound(ary) 4 If ary(k, 2) = Cells(2, 8) Then 5 Rng.Cells(k, 2).EntireRow.Copy Destination:= _ 6 Worksheets("result").Cells(ii, 1) 7 End If 8 Next
不明点
1."AA1800" と "BB1800"のように途中が同じ場合は、転記対象外ですか。
2.Cells(2,8)が"1800_2"で、"1800_1"のセルと"1899"のセルがあった場合は、どちらも転記対象になりますか。
説明が不明瞭で申し訳ありません。
対象のセルの値としては、"数字数桁_数字数桁"(ex.1885_63, 328350_22
等) という構成になっていて、_前が一致していればピックアップという形をとりたいです。
なので2.については、Cells(2,8)が"1800_2"であった場合、"1800_1"がピックアップ対象となり、"1899"は対象外という形になります。