文字列:文字列を検索してその最初の文字位置を返す(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 |
実行結果
関連記事
-
-
エラー(CVErr 関数・IsError 関数・Error 関数)
CVErr 関数(エラー番号をエラー値に変換する)の使い方 【書式】 retur …
-
-
データ型を調べて、そのデータ型を示す数値を返す(VarType 関数)
VarType 関数 の使い方 VarType 関数は、引数に、データ型を調べた …
-
-
取り消し線を設定する(Strikethrough プロパティ)
取り消し線を設定する(Strikethrough プロパティ) Striketh …
-
-
Split 関数(文字列型の一次配列を作成)
Split 関数の使い方 【書式】 myArray = Split ( expr …
-
-
VBA の演算子(比較演算子)
比較演算子 比較演算子による演算の結果は「真」の場合は「True」、「偽」の場合 …
-
-
色の設定(Color プロパティ・RGB 関数)
Color プロパティ Color プロパティは、指定したオブジェクトの色を取得 …
-
-
変数がNull 値かどうかをチェックする( IsNull 関数 )
IsNull 関数の使い方 【書式】 result = IsNull ( exp …
-
-
文字列:文字列変数の値を右詰めまたは左詰めにする(RSet ステートメント・LSet ステートメント)
RSet ステートメント・LSet ステートメント 【書式】 < RSet ステ …
-
-
指定した値を16進数で表記した文字列に変換する(Hex 関数)
Hex 関数 の使い方 【書式】 result = Hex ( expressi …
-
-
文字列:文字列の空白を削除(Trim 関数, LTrim関数, RTrim関数)
Trim 関数・LTrim 関数・RTrim 関数の使い方 【書式】 <先頭と末 …
