Excel VBA

【Excel VBA】【マクロ】【Tips】文字列にクエスチョンマークが入っているか判定するマクロ

こんにちは!Lenocoです。本日も見てくださりありがとうございます。

今回はクエスチョンマークの判定についてです!

クエスチョンマークが入っているか判定

クエスチョンマークって、あいまい検索をするときに任意の1文字を表すものだけど、
クエスチョンマーク自体が入っているかどうか、どうやって判定するの??
と1度は悩んだことがあるかと思います!!!!

いろいろ調べてみたら、Like演算子と文字リストのカッコを使用して判定が可能なようです。
簡単なマクロを作ってみましょう!!!!

以下の図のように、B列に文字列が入っています。
B列にクエスチョンマークが入っていたら、
C列に「クエスチョンマークが入っています。」という文字列を入力するマクロを作成してみます。

コード

Sub Test()

    Dim i As Long

    For i = 3 To 10
        If Cells(i, "B") Like "*[?]*" Or Cells(i, "B") Like "*[?]*" Then
            Cells(i, "C") = "クエスチョンマークが入っています。"
        End If
    Next i
    
    MsgBox "完了!"
End Sub

コードの説明

ループ用のカウンタ変数を作成。
Forは、固定で3行目から10行目まで回します。
B列に半角もしくは全角のクエスチョンマークが入っていたら、
C列に「クエスチョンマークが入っています。」と入力します。
10行目まで見終わったら、処理終了です。

補足

さらっとコードに書きましたが、Cellsの列指定方法、めちゃくちゃ便利です!!!!!
例えば、B2セルを指定したい場合、Cells(2,2)と書く方が多いと思いますが、
なんと、Cells(2,”B”)という書き方でもOKなんです。
列番号ってぱっとわからないこと多いですよね。AB列って何列目??ってなりますよね。
そんなときは、Cells(2,”AB”)のように書けますし、可読性もすごく良いです。
ぜひ取り入れてみてください!

さいごに

クエスチョンマークだけでなく、アスタリスクも同じように判定可能なようです。
こんなことができるんだ~、ということだけでも覚えておくとよりマクロを作るハードルが下がって楽しいですよね!

Lenoco

COMMENT

メールアドレスが公開されることはありません。