文字列:文字列を検索してその最初の文字位置を返す(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 |
実行結果
関連記事
-
-
フォント名(Name,ThemeFont,StandardFont)
フォント名を取得・設定する(Name プロパティ) Name プロパティは、オブ …
-
-
ある数値が、複数の範囲のどの範囲に含まれるかを示す文字列を返す(Partition 関数)
Partition 関数 の使い方 Partition 関数は、ある数値が、区切 …
-
-
配列(多次元配列・配列の次元の変更)
多次元配列 【書式】 多次元配列の宣言 <静的配列(固定長配列)> Dim my …
-
-
列挙型変数(Enum ステートメント)
列挙型変数を使う 列挙型変数を使用するには、Enum ステートメントを使って、宣 …
-
-
引数が省略されたかどうかをチェックする( IsMissing 関数 )
IsMissing 関数の使い方 【書式】 result = IsMissing …
-
-
日付時刻:年・月・日を取得(Year、Month、Day 関数)
日付から年・月・日を取得する関数 【書式】 date_year = Year ( …
-
-
テキストファイル(UTF-8)を読み込み、書き出し(ADODB.Stream)
Stream オブジェクト ADO(ActiveX Database Objec …
-
-
文字列:文字列の空白を削除(Trim 関数, LTrim関数, RTrim関数)
Trim 関数・LTrim 関数・RTrim 関数の使い方 【書式】 <先頭と末 …
-
-
画面の更新を停止(ScreenUpdating プロパティ)
画面の更新を停止 マクロを実行すると、画面が更新されます。これにより、実行速度が …
-
-
オートシェイプの種類を表す定数(MsoAutoShapeType 列挙型)
MsoAutoShapeType 列挙型 オートシェイプオブジェクトの図形の種類 …
