読者です 読者をやめる 読者になる 読者になる

三流君のソースコード置き場

三流プログラマーが作成したコードが置いてあります。あまり参考にならないと思いますがヨロシクお願いします。

VBA InStr関数で文字列を探す、位置を返す

VBA 文字列

InStr関数を使用すると、
文字列の中から、指定した文字列の位置を知ることができます。

見つけた位置・場所 = InStr(探される元文字列, 探す文字)

なんて日本語で書くと、アレなんで
※オマエの日本語・説明文が悪いって
 読者様の心の声もありますが・・・

いつものテスト動画:
【VBA】InStr関数で文字列を探す、位置を返す 【三流君】 - YouTube
www.youtube.com


実際の例題をいくつかテストしてみます。

Bを探すと、2が返る
? InStr("ABCDEF", "B")
2

見つからないときは0を返す
? InStr("ABCDEF", "X")
0

もちろん、一文字じゃなくて、
文字列の中から文字列も探せます。
? InStr("ABCDEF", "DE")
4

Sub test_InStr()

    Const str123 = "1234567890"
    Const strMEMO = "こんにちは http://宣伝ページ.com 見てください"

    Debug.Print str123
    Debug.Print "から 567の位置を探す"
    Debug.Print InStr(str123, "567")
    Debug.Print "54の位置を探す 見つからないと0を返す"
    Debug.Print InStr(str123, "54")
    
    Debug.Print strMEMO
    Debug.Print "から http://の位置を探す"
    Debug.Print InStr(strMEMO, "http://")

    'よく使うのが、文字列の有無のチェックを>0のIf文で
    If InStr(strMEMO, "http://") > 0 Then
        Debug.Print "httpあり 宣伝 スパムです"
    Else
        Debug.Print "なし、普通のメッセージです"
    End If

End Sub

文字列を探す時に使ってみたください。
何かの参考となれば・・・
※蛇足・脱線はあたたかくスルーしてくださいね・・・

テスト動画※冒頭と同じ動画です
www.youtube.com
【VBA】InStr関数で文字列を探す、位置を返す 【三流君】 - YouTube