InStr関数 解説(Excel VBA)

Excel VBAのInStr関数について

Excel VBAのInStr関数は、文字列の中から特定の文字列が初めて現れる位置を返す関数です。特定の文字列が含まれていない場合、関数は0を返します。

InStr関数の構文

InStr関数の基本的な構文は以下の通りです。

InStr([start], string1, string2, [compare])

各パラメータの詳細は以下の通りです:

  • start: 検索を開始する位置を指定します。これはオプションのパラメータです。省略された場合、文字列の最初から検索が開始されます。
  • string1: 検索対象となる文字列です。このパラメータは必須です。
  • string2: string1内で検索する文字列を指定します。このパラメータは必須です。
  • compare: 文字列の比較方法を指定します。これはオプションのパラメータです。省略された場合、オプションの設定によります。

InStr関数の使用例

以下に、InStr関数の基本的な使用例を示します。このコードは、指定されたフレーズの中に特定の単語が存在するかどうかを確認します。

Sub CheckWordInPhrase()
    Dim Phrase As String
    Dim Word As String
    Dim Position As Integer
    
    Phrase = "Excel VBAは強力なツールです"
    Word = "VBA"
    
    Position = InStr(1, Phrase, Word, vbTextCompare)
    
    If Position > 0 Then
        MsgBox Word & " はフレーズの " & Position & " 番目の位置に存在します。", vbInformation, "検索結果"
    Else
        MsgBox Word & " はフレーズに存在しません。", vbInformation, "検索結果"
    End If
End Sub

このコードでは、まずPhraseとWordに検索対象となるフレーズと検索したい単語を代入しています。

次に、InStr関数を使用してWordがPhraseの中に存在する位置を取得します。その位置がPosition変数に代入されます。

最後に、Ifステートメントを使用してPositionが0より大きいかどうかを確認します。0より大きい場合、つまりWordがPhraseの中に存在する場合は、その位置をメッセージボックスで表示します。Positionが0の場合、つまりWordがPhraseの中に存在しない場合は、その旨をメッセージボックスで表示します。

PAGE TOP
タイトルとURLをコピーしました