【VBA】別シートの文字列を含むか検索し、含む場合は処理を実行したい。 以下のようなシート1とシート2があります。 ■シート1
【VBA】別シートの文字列を含むか検索し、含む場合は処理を実行したい。 以下のようなシート1とシート2があります。 ■シート1 |/|A| B |1|static.21200558.cidr.jtidc.jp| |2|h219110.catv02.itscom.jp | |3|n5999621.nhk.or.jp | |4|test-tc.nttdocomo.co.jp | |5|a013.ap.plala.or.jp | |6|w188802.waseda.ac.jp | |7|fs617.ap.nuro.jp | |8|cc16.ccnw.ne.jp | |9|h-7951233.pref.hiroshima.jp | ■シート2 |/|A| B |1|cidr.jtidc.jp |ソフトバンク |2|nhk.or.jp |日本放送協会 |3|nttdocomo.co.jp |NTTドコモ |4|waseda.ac.jp |早稲田大学 |5|pref.hiroshima.jp|広島県 シート1のA列に対し「シート2のA列を検索し、含まれる文字列があった場合はその行のB列の文字列をシート1のB列にコピーする」という処理を1行ずつおこないたいです。 実行結果は以下のようにしたく、シート1、2のA列は数百行あります。 ●実行結果(シート1) |/|A| B |1|static.21200558.cidr.jtidc.jp|ソフトバンク |2|h219110.catv02.itscom.jp | |3|n5999621.nhk.or.jp |日本放送協会 |4|test-tc.nttdocomo.co.jp |NTTドコモ |5|a013.ap.plala.or.jp | |6|w188802.waseda.ac.jp |早稲田大学 |7|fs617.ap.nuro.jp | |8|cc16.ccnw.ne.jp | |9|h-7951233.pref.hiroshima.jp |広島県 よろしくお願いいたします。
ベストアンサー
一例です。 Sub test() Dim tbl As Variant Dim r As Long, i As Long With Worksheets("Sheet2") tbl = .Range("A1:B" & .Cells(Rows.Count, 1).End(xlUp).Row) End With With Worksheets("Sheet1") For r = 1 To .Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To UBound(tbl) If InStr(.Cells(r, 1).Value, tbl(i, 1)) Then .Cells(r, 2).Value = tbl(i, 2) Exit For End If Next i Next r End With End Sub
質問者からのお礼コメント
お陰様で希望の処理を実行することが出来ました。 本当にありがとうございました。
お礼日時:7/3 15:13