Excel365 VBAのInStr関数を使って文字列の位置を簡単に探す方法

パソコンパソコン・スマホ教室
スポンサーリンク

こんにちは!今日はExcel365のVBAで使える「InStr(インストラ)」関数について、初心者の方にもわかりやすく解説します。パソコンやスマホの操作に自信がない方でも、安心して学べる内容ですので、ぜひ最後までご覧ください。

スポンサーリンク

InStr関数とは?

Excelのイメージ

Excelのイメージ

まず、InStr関数とは、指定した文字列の中から、別の文字列が最初に現れる位置を調べるVBAの関数です。例えば、「Excel365の使い方」という文章の中で、「使い方」が何番目に出てくるかを調べることができます。

InStr関数の基本的な使い方

InStr関数の書き方は次の通りです

InStr, 検索対象文字列, 検索する文字列, )

開始位置(省略可能)検索を始める位置を指定します。省略すると1から始まります。
検索対象文字列検索を行う元の文字列です。
検索する文字列検索したい文字列です。
比較方法(省略可能)検索時の比較方法を指定します。省略するとバイナリ比較(大文字と小文字を区別)になります。

実際に使ってみよう!基本例

例えば、「Excel365の使い方」という文字列の中で、「使い方」が何番目に出てくるかを調べるコードは以下のようになります

Sub 使い方の位置を調べる()
Dim 位置 As Integer
位置 = InStr(1, "Excel365の使い方", "使い方")
MsgBox "「使い方」は" & 位置 & "番目にあります。"
End Sub

このコードを実行すると、「使い方は7番目にあります。」と表示されます。

検索を開始する位置を指定する

検索を始める位置を指定することもできます。例えば、3番目の文字から検索を始める場合は、次のように書きます

Sub 開始位置を指定する()
Dim 位置 As Integer
位置 = InStr(3, "Excel365の使い方", "使い方")
MsgBox "「使い方」は" & 位置 & "番目にあります。"
End Sub

このコードでは、最初の「Excel365」をスキップして、2番目の「使い方」を見つけます。

大文字と小文字を区別しない検索

デフォルトでは、InStr関数は大文字と小文字を区別して検索します。しかし、区別せずに検索したい場合は、比較方法を「vbTextCompare」に設定します

Sub 大文字小文字を区別しない()
Dim 位置 As Integer
位置 = InStr(1, "Excel365の使い方", "使い方", vbTextCompare)
MsgBox "「使い方」は" & 位置 & "番目にあります。"
End Sub

これで、「使い方」や「使い方」など、大文字小文字を区別せずに検索できます。

文字列が含まれているかを調べる

文字列が含まれているかを調べるには、InStr関数の戻り値が0より大きいかどうかで判断できます

Sub 文字列が含まれているか()
Dim 位置 As Integer
位置 = InStr(1, "Excel365の使い方", "使い方")
If 位置 > 0 Then
MsgBox "「使い方」が含まれています。"
Else
MsgBox "「使い方」は含まれていません。"
End If
End Sub

このコードでは、「使い方」が含まれていれば「含まれています。」と表示されます。

よくある質問や疑問

Q1: InStr関数はExcelのセルでも使えますか?

InStr関数はVBAの関数であり、セル内の数式では直接使用できません。ただし、VBAを使ってセルの内容を検索することは可能です。

Q2: 検索する文字列が見つからない場合、どのように処理すればよいですか?

InStr関数は、検索する文字列が見つからない場合、0を返します。これを利用して、見つからなかった場合の処理を追加できます。

Q3: 複数の文字列を検索する場合、どのようにすればよいですか?

複数の文字列を検索する場合は、InStr関数をループ内で使用して、各文字列の位置を調べることができます。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

InStr関数は、文字列の中から特定の文字列の位置を簡単に調べることができるVBAの関数です。検索を開始する位置を指定したり、大文字と小文字を区別せずに検索したりすることも可能です。これらの機能を活用することで、Excelの作業をより効率的に進めることができます。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

コメント

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