こんにちは!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