Excel VBA Instrで文字列内で特定文字列や文字が最初に出現する位置を返す

 

Excel VBAの Instrは、文字列内で特定の文字列や文字が最初に出現する位置を返すために使用します。具体的な使い方や、注意点やサンプルコードを紹介します。

 

日常業務でExcelを多用し、手動作業を減らしたいと考えている方へ
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事

 

Excel VBA Instrを利用

以下のようなシーンで利用されます。

・主に文字列操作やテキスト処理の場面で使用します。例えば、特定の文字列が含まれるかどうかを確認したり、文字列内の特定の位置から部分文字列を抽出する際に利用します。

 

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

・「start」: 検索を開始する位置を指定します。省略可能で、デフォルトは1です。

・「string1」: 検索される文字列を指定します。

・「string2」: 検索する文字列を指定します。

・「compare」: 比較方法を指定します。省略可能です。

 

ポイント

startが省略された場合、検索は文字列の先頭から開始します。

 

Excel VBA Instrサンプルコード

基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、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で自動化するコードのベースを習得したい方におすすめ!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。