Excel VBAの Instrを使用して配列内の要素を検索します。具体的な使い方や、注意点やサンプルコードを紹介します。
以下のようなシーンで利用されます。
・配列内の特定の要素を検索し、その位置を知りたい場合に使用します。例えば、配列内の特定の値のインデックスを見つけたり、配列内の文字列パターンを検索する場合などに利用します。
position = InStr([start], string1, string2, [compare])
・「start」: 検索を開始する位置を指定します。省略可能で、デフォルトは1です。
・「string1」: 検索される文字列を指定します。
・「string2」: 検索する文字列を指定します。
・「compare」: 比較方法を指定します。省略可能です。
startが省略された場合、検索は文字列の先頭から開始します。
Option Explicit
Sub ExampleUsage()
Dim position As Integer
Dim myArray(3) As String
Dim search_string As String
Dim i As Integer
' 配列の初期化
myArray(0) = "apple"
myArray(1) = "banana"
myArray(2) = "orange"
myArray(3) = "banana"
' 検索する文字列を設定
search_string = "banana"
' 配列内での検索を実行
For i = LBound(myArray) To UBound(myArray)
position = InStr(1, myArray(i), search_string)
If position > 0 Then
MsgBox "文字列 '" & search_string & "' は配列の " & i & " 番目に見つかりました。"
Exit For ' 最初に見つかったインデックスのみを表示し、ループを終了します
End If
Next i
If position = 0 Then
MsgBox "文字列 '" & search_string & "' は配列内で見つかりませんでした。"
End If
End Sub
サンプルコードは、配列内の要素を検索して文字列 banana を見つけます。見つかった場合、そのインデックスをメッセージボックスで表示します。
Excel VBA Instrで文字列内で特定文字列や文字が最初に出現する位置を返す
毎日のルーチン作業をExcel VBAで自動化し、時間を有効活用しませんか?Excel VBAエキスパート資格取得問題集を活用して資格取得、そして効率的な仕事を実現しましょう!
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。
ExcelVBAの学習方法で効果的な学び方を知りたい方は、下記「Excel VBA初心者のための効果的な学習ガイド」をご確認ください。