
Excel VBAの Instrは、文字列内で特定の文字列や文字が最初に出現する位置を返すために使用します。具体的な使い方や、注意点やサンプルコードを紹介します。
📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!
👇実務で“そのまま使える”テンプレ付きで、コピペするだけ!
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き
Excel VBA Instrを利用
以下のようなシーンで利用されます。
・主に文字列操作やテキスト処理の場面で使用します。例えば、特定の文字列が含まれるかどうかを確認したり、文字列内の特定の位置から部分文字列を抽出する際に利用します。
position = InStr([start], string1, string2, [compare])
・「start」: 検索を開始する位置を指定します。省略可能で、デフォルトは1です。
・「string1」: 検索される文字列を指定します。
・「string2」: 検索する文字列を指定します。
・「compare」: 比較方法を指定します。省略可能です。
startが省略された場合、検索は文字列の先頭から開始します。
Excel VBA Instrサンプルコード
自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。
Option Explicit
Sub ExampleUsage()
Dim position As Integer
Dim search_string As String
Dim target_string As String
' 検索対象の文字列と検索する文字列を設定
target_string = "Hello, World!"
search_string = "World"
' 文字列内での検索開始位置を指定せずに検索
position = InStr(target_string, search_string)
If position > 0 Then
MsgBox "文字列 '" & search_string & "' は " & position & " 文字目に見つかりました。"
Else
MsgBox "文字列 '" & search_string & "' は見つかりませんでした。"
End If
End Sub
サンプルコードは、文字列 "Hello, World!" 内で文字列 "World" を検索し、見つかった場合にその位置をメッセージボックスで表示します。
Excel VBA Instrを使用して配列内の要素を検索する
「Excel VBAで自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。