2017年7月13日

【Excel】文字列の中から指定した文字列を検索するマクロ


文字列の中から指定した文字列を検索するには、InStr関数を使います。

下記のコードは、文字列の中から指定の文字を検索して見つかった文字位置をすべて列挙する例です。
Sub SearchString()

    Dim targetString As String
    Dim serchString As String
    Dim i As Integer
    Dim result As String
    
    targetString = "この竹垣に竹立てかけたのは竹立てかけたかったから竹立てかけた"
    serchString = "竹"
    
    i = 0
    
    Do While i < Len(targetString)
    
        '検索して見つかった文字位置を返す
        i = InStr(i + 1, targetString, serchString)
        
        If i = 0 Then
            '見つからなかった場合はループを抜ける
            Exit Do
        End If
        
        result = result & i & "文字目" & vbCrLf
    
    Loop
    
    MsgBox result
    
End Sub

実行結果




<参考サイト>
InStr 関数 | Visual Basic 言語リファレンス



スポンサーリンク