文字列:文字列を検索してその最初の文字位置を返す(InStr 関数,InStrB 関数)
InStr 関数・InStrB 関数の使い方
【書式】
result = { InStr | InStrB } ( [ start ], string1, string2 [, compare ] )
引数・戻り値
- start ・・・ 検索の開始位置を指定します。省略すると、先頭の文字から検索されます。もし、start に、Null 値が含まれている場合は、エラーが発生します。省略可能。ただし、引数 compare を指定した場合は、start を省略することはできません。
- string1 ・・・ 検索対象の文字列・文字列式を指定します。
- string2 ・・・ 引数 string1 内で、検索する文字列を指定します。
- compare ・・・ 文字列の比較モード(-1,0,1)を指定します。省略時は、「Option Compare ステートメント」の設定により比較モードが決まります。
値 定数 内容 -1 vbUseCompareOption Option Compare ステートメントの設定を使用して比較 0 vbBinaryCompare バイナリモードの比較 1 vbTextCompare テキストモードの比較(大文字・小文字を同一視) 2 vbDatabaseCompare Microsoft Access の場合のみ有効
- result ・・・ ある文字列(string1)の中から指定した文字列(string2)を検索し、最初に見つかった文字位置。( ※ InStr の場合は、先頭からその位置までの文字数。InStrB の場合は、先頭からその位置までのバイト数。)
内容 戻り値 string1 が長さ 0 の文字列(””) 0 string1 が Null 値 Null 値 string2 が長さ 0 の文字列(””) start string2 が Null 値 Null 値 string2 が見つからないとき 0 string2 が string1 内で見つかったとき 見つかった文字列の位置
InStr は、文字数、InStrB はバイト数start の値が string1 の文字数を超える時 0
InStr 関数・InStrB 関数 の使用例
サンプルVBAソース
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 |
Sub Sample_InStr() Dim str1, str2, str3 Dim s1, s2, s3 str1 = "abcdeABCDE" str2 = "あいうえおかきくけこ" str3 = "こんにちは! Hello!!" Debug.Print InStr(1, str1, "ABC", vbBinaryCompare) '6 Debug.Print InStr(1, str1, "ABC", vbTextCompare) '1 Debug.Print InStrB(1, str1, "ABC", vbBinaryCompare) '11 Debug.Print InStrB(1, str1, "ABC", vbTextCompare) '11 Debug.Print InStr(2, str2, "くけ", vbBinaryCompare) '8 Debug.Print InStr(2, str2, "くけ", vbTextCompare) '8 Debug.Print InStrB(2, str2, "くけ", vbBinaryCompare) '15 Debug.Print InStrB(2, str2, "くけ", vbTextCompare) '15 Debug.Print InStr(str3, "hello") '0 (※引数省略) Debug.Print InStrB(str3, "hello") '0 (※引数省略) Debug.Print InStr(4, str3, "hello", vbTextCompare) '8 Debug.Print InStrB(4, str3, "hello", vbTextCompare) '0 End Sub |
実行結果
関連記事
-
文字列:文字を指定数並べた文字列を返す(String 関数)
String 関数 【書式】 result = String ( number, …
-
四捨五入・切り上げ・切り捨て・丸め(Round 関数 他)
Round 関数(丸め)の使い方 【書式】 value = Round ( ex …
-
指定した数値を文字列に変換する(Str 関数)
Str 関数 の使い方 Str 関数は、数値・数式を文字列に変換して返す関数です …
-
文字列:定数(改行・タブ)
改行・タブの定数 これらの定数は、使用前に定義する必要はありません。コード中のど …
-
取り消し線を設定する(Strikethrough プロパティ)
取り消し線を設定する(Strikethrough プロパティ) Striketh …
-
指定した数のスペースを挿入する(Spc 関数)
指定した数のスペースを挿入 指定した数のスペースを挿入するには、Spc 関数を使 …
-
Array 関数(バリアント型の配列を作成)
Array 関数の使い方 【書式】 myArray = Array ( elem …
-
ある数値が、複数の範囲のどの範囲に含まれるかを示す文字列を返す(Partition 関数)
Partition 関数 の使い方 Partition 関数は、ある数値が、区切 …
-
フォント 太字・斜体(Bold, Italic, FontStyle プロパティ)
太字の設定(Bold プロパティ) Bold プロパティは、フォントを太字にする …
-
Math 関数( Abs,Atn,Cos,Exp,Log,Rnd,Sgn,Sin,Sqr,Tan )
Abs 関数 【書式】 value = Abs ( number ) 【引数・戻 …