【エクセルマクロ】リストにある文字列を含むか判定:3倍高速化する!

エクセルマクロ_リストにある文字を含むか判定_アイキャッチ エクセルマクロで効率化する

エクセルマクロで、リストにある文字列を含むか判定する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
    
    '配列の要素数を指定
    ReDim Preserve SeachList(LastRow)
    
    'リストの文字列を配列に格納
    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
    
    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
    
End Sub

 

マクロ実行前

A列の中に、E列の文字が含まれているかチェックします。

 

マクロ実行後

リストの文字を含むデータに色付けします。


 
この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】2つのシートを比較して違う箇所に色付けする
...