VB6・VBA関数メモ:InStr関数
InStr関数についてメモしておきます。
文字列検索を行う際に使用します。
文字列検索を行う際に使用します。
概要
InStr([start], string1, string2, [compare]) | |
---|---|
機能 | 対象文字列(string1)から検索文字列(string2)を先頭から検索 |
戻り値 | 最初に見つかった文字位置 見つからなかった場合は「0」 |
引数
引数名 | 説明 |
---|---|
start | (compare省略時のみ省略可) 検索の開始位置 省略時は文字列の先頭から検索 |
string1 | 検索対象の文字列 |
string2 | 検索する文字列 |
compare | (省略可) 比較モードの定数 |
引数:定数
引数:compare | ||||
---|---|---|---|---|
定数名 | 値 | 説明 | 使用例 | 出力 |
vbUseCompareOption | -1 | Option Compare ステートメントの設定を使用 | InStr(1, "abcde", "cd", vbUseCompareOption) | 3 |
vbBinaryCompare | 0 | (規定値) バイナリモード ※大文字と小文字、半角と全角、ひらがなとカタカナを区別する | InStr(1, "abcde", "cd", vbBinaryCompare) | 3 |
vbTextCompare | 1 | テキストモード ※大文字と小文字、半角と全角、ひらがなとカタカナを区別しない | InStr(1, "abcde", "cd", vbTextCompare) | 3 |
vbDatabaseCompare | 2 | (Accessのみ) DBに格納されている設定に基づいて比較 | InStr(1, "abcde", "cd", vbDatabaseCompare) | 3 |
使用例
説明 | 記述例 | 出力 |
---|---|---|
1文字目から「cd」を検索 | InStr(1, "abcde", "cd") | 3 |
1文字目から「cd」を検索(位置省略) | InStr("abcde", "cd") | 3 |
6文字目から「cd」を検索 | InStr(6, "abcde abcde", "cd") | 9 |
大文字・小文字を区別して検索 (検索できない例) | InStr(1, "abcde", "CD", vbBinaryCompare) | 0 |
ひらがな・半角カタカナを区別しないで検索 | InStr(1, "あいうえお", "ウエ" ,vbTextCompare) | 3 |
応用例
説明 | 記述例 | 出力 |
---|---|---|
検索対象文字列から全ての検索文字列の位置を取得 |
Dim pos As Long '検索対象文字列 Const TARGETSTR As String = "abcde abcde abcde" '検索文字列 Const SEARCHSTR As String = "cd" '検索位置初期化 pos = 0 'ループして検索 Do '検索 pos = InStr(pos + 1, TARGETSTR, SEARCHSTR) '検索できた場合出力 If pos > 0 Then '検索結果出力 Debug.Print pos End If Loop While pos > 0 |
3 9 15 |
- 2011.09.22 Thursday
- VB・VBA
- 23:36
- comments(0)
- trackbacks(0)
- -
- -