VBAで自動化

【VBA】文字列を検索する

VBAで文字列を検索する方法はいくつかありますが、主な方法としては関数や演算子を使用する方法があります。

1.InStr関数を使用した文字列検索

InStr関数は、文字列内で特定の部分文字列が最初に表示される位置を返す関数です。もし部分文字列が届かない場合は0を返します。

Sub SearchWithInStr()
    Dim mainString As String
    Dim searchString As String
    
    mainString = "This is a sample string."
    searchString = "sample"
    
    Dim position As Long
    position = InStr(mainString, searchString)
    
    If position > 0 Then
        MsgBox "部分文字列が見つかりました。位置: " & position
    Else
        MsgBox "部分文字列が見つかりませんでした。"
    End If
End Sub

2.Like演算子を使用した文字列検索

Like演算子は、ワイルドカード(*や?など)を使用して文字列を比較する際に使用されます。部分文字列の検索に向いています。

Sub SearchWithLikeOperator()
    Dim mainString As String
    Dim searchString As String
    
    mainString = "This is a sample string."
    searchString = "*sample*"
    
    If mainString Like searchString Then
        MsgBox "部分文字列が見つかりました。"
    Else
        MsgBox "部分文字列が見つかりませんでした。"
    End If
End Sub

どちらを選ぶかは、使用する場面や条件によって異なります。InStr関数は特定の文字列の開始位置を取得できます。一方、Like演算子はワイルドカードを使用して柔軟な検索ができるため、特定のパターンに一致する文字列を検索する場合に便利です。

-VBAで自動化