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