アクセス上位ページ
 
最近の更新内容
(2)-g.Replace関数 ⇐ [PREV]
[NEXT] ⇒ (2)-i.InstrRev関数

Excel VBA ≫ 2.関数リファレンス - 文字列操作(2)-h.InStr関数

InStr関数

InStr関数はある文字列の中から指定した文字列を検索し、最初に見つかった文字位置を返します。
  • 【構文】
    InStr ([Start ,] String1, String2 [, Compare])

      【戻り値】 バリアント型 (内部処理形式 Long の Variant)

  • 引数名 省略 説明
    Start 文字列の検索を開始する位置を指定します。 省略した場合は、文字列の先頭から検索が開始されます。引数 Compare を指定した場合は、Start も指定する必要があります。
    String1 × 検索対象となる文字列式を指定します。
    String2 × 引数 String1 内で検索する文字列式を指定します。
    Compare 文字列比較の比較モードを指定する数値を設定します。 引数 Compare を省略すると、Option Compare ステートメントの設定に応じて、比較モードが決まります。


    引数Compareに指定可能な定数
    定数 説明
    vbUseCompareOption -1 Option Compare ステートメントの設定を使用して比較を行います。
    vbBinaryCompare 0 バイナリ モードで比較を行います。
    vbTextCompare 1 テキスト モード(大文字/小文字、全角/半角 区別なし)で比較を行います。




  • InStr関数の使用例1
  • Sub sample_ef028_01()
        Dim wStr    As String
    
        wStr = "ABCDEabcdeabcdeABCDE"
    
        Debug.Print "文字列:" & wStr
        '[1]:文字列の先頭から「ABC」を検索
        Debug.Print "検索結果[1]:" & InStr(wStr, "ABC")
        '[2]:2文字目から「ABC」を検索
        Debug.Print "検索結果[2]:" & InStr(2, wStr, "ABC")
        '[3]:テキストモード(大文字・小文字・半角・全角区別なし)で検索
        Debug.Print "検索結果[3]:" & InStr(2, wStr, "ABC", vbTextCompare)
    End Sub
    
    ⇒ サンプルマクロ集 へ

    <実行結果(イミディエイトウィンドウ)>
    文字列:ABCDEabcdeabcdeABCDE
    検索結果[1]:1
    検索結果[2]:16
    検索結果[3]:6
    

  • InStr関数の使用例2
  • ある文字列の中から、指定した文字列の出現回数をカウントする例です。
    Sub sample_ef028_02()
        Dim wStr    As String
        Dim wFind   As String
        Dim wPos    As Integer
        Dim wCount  As Integer
    
        wStr = "ABCDEabcdeabcdeABCDE"
        wFind = "ABC"   '検索対象文字列
    
        wPos = 1
        wCount = 0      '明示的に初期化
    
        Do
            wPos = InStr(wPos, wStr, wFind)
            '検索対象文字列が見つからない場合はループを抜ける
            If wPos = 0 Then Exit Do
            'カウントアップ
            wCount = wCount + 1
            '次の検索のために検索開始位置を算出
            wPos = wPos + Len(wFind)
    
        Loop Until wPos > Len(wStr)
    
        Debug.Print "文字列  :" & wStr
        Debug.Print "検索文字列:" & wFind
        Debug.Print "出現回数 :" & wCount
    End Sub
    
    ⇒ サンプルマクロ集 へ


    <実行結果(イミディエイトウィンドウ)>
    文字列  :ABCDEabcdeabcdeABCDE
    検索文字列:ABC
    出現回数 :2
    
カテゴリ内ページ
Excel VBA 〜 総目次 〜
- 2.関数リファレンス
-- (2).文字列操作
--- (2)-a.Left、Right関数
--- (2)-b.Mid関数
--- (2)-c.Len、LenB関数
--- (2)-d.LCase、UCase関数
--- (2)-e.StrConv関数
--- (2)-f.StrReverse関数
--- (2)-g.Replace関数
--- (2)-h.InStr関数
--- (2)-i.InstrRev関数
--- (2)-j.LTrim、RTrim、Trim関数
--- (2)-k.Format関数
--- (2)-l.Asc、Chr関数
--- (2)-m.String、Space関数
--- (2)-n.StrComp関数



Page
Top