VBAのあいまい検索で否定文の書き方~Not Like ワイルドカード~

VBA

VBAのアスタリスク(*)やアンダーバー(_)を使用してあいまい検索の否定文を書く方法について紹介していきます

基本的なあいまい検索(部分一致)の書き方

判定する表はこちらを使用

指定したセル内の値を部分一致で判定します

セルC3に”柴”という文字列が含まれていたらメッセージボックス内の文字列を表示させます。

Sub test()
      If Cells(3, 3).Value Like "*柴*" Then
          MsgBox "部分一致"
      End If
End Sub

部分一致を使用するにはLike*(アスタリスク)を利用する必要があります。

あいまい検索の基本的な使用方法がわからない場合には下記を参照してください

Like演算子の否定文(Not)

Like演算子で否定の構文

If Not(条件式) then
処理内容
End if
完全一致と部分一致(true/false)を使用した条件式の例

イコールを利用した完全一致の条件式

If Cells(3, 3).Value = "柴犬" Then

Like演算子を利用した部分一致の条件式

If Cells(3, 3).Value Like "*柴*" Then

Like演算子で否定文にする条件式

If Not(Cells(3, 3).Value Like "*柴*") Then

否定文を利用するには条件式をNot()で囲ってあげる必要があります

部分一致(あいまい検索)の否定文(Not)使用例

*(アスタリスク)は使用する場所によってあいまいにする部分を制御することができます。

柴犬という文字を含む文字列を除外する
”柴犬”という文字を含む文字列を除外する

 If Not(Cells(3, 3).Value Like "*柴犬*") Then 

例えば、

『私は柴犬です』

などの文字列には”柴犬”が含まれるため 、処理対象から除外することができます。

Point!

アスタリスクは文字列を意味するので、文字数は関係なく条件を判定させることができます。

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