【ExcelVBA】文字列の比較 2つの文字列を比較する方法

こんなあなたにおすすめ

・Excel VBAで2つの文字列を比較したい

Excelを使っていると、2つの文字列を比較したいということがあります。

1. 2つの文字列を比較

比較したい2つの値を”=”でつなぐことで、一致していればTrue、不一致であればFalseを返します。

Sub test1()

    If Range("A1").Value = "東京" Then
        MsgBox "A1セルの値は、東京です"
    Else
        MsgBox "A1セルの値は、東京ではありません"
    End If

End Sub

If文については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】If文 条件分岐 超便利 & 簡単

比較したい2つの値を”>“でつなぐことで、不一致であればTure、一致していればFalseを返します。

Sub test2()

    If Range("A1").Value > "東京" Then
        MsgBox "A1セルの値は、東京ではありません"
    Else
        MsgBox "A1セルの値は、東京です"
    End If

End Sub

2. 指定した文字列が含まれているか確認する InStr関数

InStr関数を使うことで、指定した文字列が含まれているか確認することができます。

基本的な書き方は、以下の通りです。

Sub test3()

    MsgBox InStr(Range("A1").Value, "東京")

End Sub

指定した文字列が含まれていた場合、その文字列の位置を返します。
例えば、「ここは東京です。」の場合、戻り値は、4です。

指定した文字列が含まれていない場合、0を返します。

つまり、InStr関数の戻り値が0のとき、指定した文字列は含まれていません。

Sub test4()

    If InStr(Range("A1").Value, "東京") > 0 Then
        MsgBox "文字列に東京を含んでいます。"
    Else
        MsgBox "文字列に東京を含んでいません。"
    End If

End Sub

3. ワイルドカードで探す

一部わからないところには、*、?などのワイルドカードを使うことができます。

これにより、A1セルの値が「東京都立川市」だった場合、Like “東京都*”で戻り値は、Trueになります。

Sub test5()

    If Range("A1").Value Like "東京都*" Then
        MsgBox "東京都在住です"
    Else
        MsgBox "東京都在住ではありません"
    End If

End Sub

4. 複数の文字列で探す

複数の文字列の内、どれかで始まる場合、Trueを返す方法は、以下の通りです。

Sub test6()

    If Range("A1").Value Like "[東京, 神奈川, 埼玉, 茨城, 栃木, 群馬, 千葉, 山梨]*" Then
        MsgBox "首都圏です"
    Else
        MsgBox "首都圏ではありません"
    End If
    
End Sub
Sub test07()

    If Range("A1").Value Like "[1-3]*" Then
        MsgBox "頭文字は、1~3です"
    Else
        MsgBox "頭文字は、1~3ではありません"
    End If
    
End Sub

5. まとめ

ここまで、2つの文字列を比較する方法について解説しました。

2つの文字列を比較して一致したら、Aの処理をする、不一致だったらBの処理をするというように使うことができるので、ぜひ使ってみてください。

If文については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】If文 条件分岐 超便利 & 簡単

Excelで作業効率をアップしたい方は、下記の記事もご参照ください。
>>Excelのショートカット一覧 覚えて作業効率アップ!!
>>Excelで覚えておくべき関数 作業効率アップ間違いなし

【Excelについて学びたい方】
Excel 最強の教科書[完全版]
【Excel VBAについて学びたい方】
Excel VBA 脱初心者のための集中講座
エンジニアを目指すなら、TechAcademy!
オンラインスクール受講者数No.1!

・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!

・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!

・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!

・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!

無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です