エクセルマクロで、リストにある文字列を含むか判定するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください😉
リストにある文字列を含むか判定
以下のマクロを実行すると、キーワード郡にある文字が含まれているか判定します。
Sub リストの文字があるかどうか探す()
Dim LastRow As Long
Dim SeachList() As String
Dim i As Long
Dim j As Long
'E列の最終行取得
LastRow = Cells(Rows.Count, 5).End(xlUp).Row
j = 1
'リストの文字列を配列に格納
For i = 2 To LastRow
ReDim Preserve SeachList(j)
SeachList(j) = Cells(i, 5)
j = j + 1
Next i
'A列の最終行取得
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
For i = 2 To LastRow
For j = 1 To UBound(SeachList)
'リストの文字列が含まれている場合、セルの背景色を塗る
If InStr(Cells(i, 1), SeachList(j)) > 0 Then
Cells(i, 1).Interior.Color = 65535
Else
'リストの文字列が含まれていない場合、for抜ける
If j = UBound(SeachList) Then
Exit For
End If
End If
Next j
Next i
Application.ScreenUpdating = True
End Sub
マクロ実行前
A列の中に、E列の文字が含まれているかチェックします。
マクロ実行後
リストの文字を含むデータに色付けします。
この記事がお役に立ちますと幸いです。
VBA 2つのシートを比較して違う箇所に色付け(動画あり)
...
「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載
リンク