
VBAのLike演算子とは?解説と使用例
はじめに
VBAの処理で、「データの比較を行いたい」「データの部分一致で判別したい」と思ったことはありませんか?
ここでは、比較を行う演算子「Like」について説明していきます。
1.Like演算子について
1-1.Like演算子とは
Like演算子は、2つの文字列を比較する演算子です。
演算子なので、「<」「>」「=」「!=」のような使い方をします。
また、ワイルドカードを用いて文字列を含むかの判定にも使用できます。
1-2.Like演算子の構文
[文字列A] Like [文字列B]
戻り値は、一致したら、true
一致しなかったら、false
比較する文字列のどちらかがNullならNull
2.Like演算子の使用例
2-1.基本的な使用例
Sub main1()
Dim str1 As String
Dim str2 As String
Dim ret As String
str1 = "123456"
str2 = "123456"
ret = str1 Like str2
If ret = True Then
MsgBox "「" + str1 + "」と「" + str2 + "」は同一です"
ElseIf ret = False Then
MsgBox "「" + str1 + "」と「" + str2 + "」は異なります"
End If
End Sub
2-2.特殊な書き方をする場合
2-2-1.指定した文字列を含むかのチェック
Sub main2()
Dim str1 As String
Dim str2 As String
Dim ret As String
str1 = "123456"
str2 = "1234*"
ret = str1 Like str2
If ret = True Then
MsgBox "「" + str1 + "」は「" + str2 + "」を含みます"
ElseIf ret = False Then
MsgBox "「" + str1 + "」は「" + str2 + "」含みません"
End If
End Sub
2-2-2.桁数をチェックする
Sub main3()
Dim str1 As String
Dim ret As String
str1 = "123456"
ret = str1 Like "######"
If ret = True Then
MsgBox "桁数が一致します"
ElseIf ret = False Then
MsgBox "桁数が一致しません"
End If
End Sub
2-3.その他
完全一致のみを行う場合は、Like演算子を使わなくても、下記の様な式でも問題ありません。
Range([比較したい文字列1]) = [比較したい文字列2]
3.最後に
Like演算子は、単純な比較なら他の関数等を使えますが、部分一致等使用範囲が広い演算子です。
ここで説明した以外にも用途はたくさんあるので、ここをきっかけに調べてみたください。




コメント