2017年7月13日

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


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

下記のコードは、文字列の中から指定の文字を検索して見つかった文字位置をすべて列挙する例です。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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 言語リファレンス



スポンサーリンク