教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 演算子】論理演算子の使い方について知りたいです。教えて!

f:id:m_kbou:20200416172120p:plain

論理演算子の使い方について説明します。

 

 

構文

記述方法は以下の通りとなります。

(1)論理積

[条件式1]And[条件式2] 

[説明]:

[条件式1][条件式2]のどちらの条件も満たす指定をする論理演算子はAnd演算子(論理積)を使用します。内容を纏めると、「[条件式1]と[条件式2]のどちらの条件も満たす場合には・・・」との意味になります。

[記述例]:

Range("A1") < 10 And Range("B1") >= 2

(2)論理和

[条件式1]Or[条件式2]

[説明]:

[条件式1]または[条件式2]のいずれかの条件を満たす指定をする論理演算子はOr演算子(論理和)を使用します。内容を纏めると、「[条件式1]または[条件式2]のいずれかの条件を満たす場合には・・・」との意味になります。

[記述例]:

Range("A1") < 10 Or Range("B1") >= 2

(3)論理否定

Not[条件式]

[説明]:

[条件式]の条件でない指定をする論理演算子はNot演算子(論理否定)を使用します。内容を纏めると、「[条件式]の条件でない場合には・・・」との意味になります。

[記述例]:

Not Range("A1") < 5

 

使い方

使い方について具体的に説明していきます。

And演算子(論理積)の使い方 

And演算子(論理積)の使い方について説明します。

[プログラミング例]:

Sub サンプル()
   
    If (Range("A1") < 10 And Range("B1") >= 2) Then
        MsgBox "条件に一致しています。", 64, "メッセージ"
    Else
        MsgBox "条件に一致していません。", 16, "メッセージ"
    End If
   
End Sub

内容は、「A1セルに入力されている数値が10未満でB1セルに入力されている数値が2以上の条件に一致する場合は”条件に一致しています。”を表示し、条件に一致していない場合は”条件に一致していません。”を表示して下さい。」との意味になります。

f:id:m_kbou:20210222093442p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例①]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。A1セルに数値の1、B1セルに数値の2が入力されています。<実行>ボタンをクリックします。(※ボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210304082445p:plain

②処理結果は以下の様になります。どちらの条件にも一致する事から、「条件に一致しています。」表示されます。

f:id:m_kbou:20210304082502p:plain

実行例①のついての説明は以上です。

[実行例②]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。A1セルに数値の1、B1セルに数値の1が入力されています。<実行>ボタンをクリックします。(※ボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210304082521p:plain

②処理結果は以下の様になります。A1セルに入力されている数値が10未満の条件には一致していますが、B1セルに入力されている数値が2以上の条件には一致していないため、「条件に一致していません。」が表示されます。

f:id:m_kbou:20210304082534p:plain

実行例②ついての説明は以上です。

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

And演算子(論理積)の使い方についての説明は以上です。

 

Or演算子(論理和)の使い方 

Or演算子(論理和)の使い方について説明します。

[プログラミング例]:

Sub サンプル()
   
    If (Range("A1") < 10 Or Range("B1") >= 2) Then
        MsgBox "条件に一致しています。", 64, "メッセージ"
    Else
        MsgBox "条件に一致していません。", 16, "メッセージ"
    End If
   
End Sub

内容は、「A1セルに入力されている数値が10未満またはB1セルに入力されている数値が2以上の条件に一致している場合は”条件に一致しています。”を表示し、条件に一致していない場合は”条件に一致していません。”を表示して下さい。」との意味になります。

f:id:m_kbou:20210222093553p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例①]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。A1セルに数値の1、B1セルに数値の1が入力されています。<実行>ボタンをクリックします。(※ボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210304082731p:plain

②処理結果は以下の様になります。B1セルに入力されている数値が2以上の条件には一致していませんが、A1セルに入力されている数値が10未満の条件には一致しているため、「条件に一致しています。」が表示されます。

f:id:m_kbou:20210304082747p:plain

実行例①のついての説明は以上です。

[実行例②]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。A1セルに数値の10、B1セルに数値の1が入力されています。<実行>ボタンをクリックします。(※ボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210304082808p:plain

②処理結果は以下の様になります。A1セルに入力されている数値が10未満の条件に一致しておらず、また、B1セルに入力されている数値が2以上の条件にも一致していない事から、「条件に一致していません。」が表示されます。

f:id:m_kbou:20210304082819p:plain

実行例②についての説明は以上です。

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

Or演算子(論理和)の使い方についての説明は以上です。

 

Not演算子(論理否定)の使い方 

Not演算子(論理否定)の使い方について説明します。

[プログラミング例]:

Sub サンプル()
   
    If (Not Range("A1") < 5) Then
        MsgBox "条件に一致しています。", 64, "メッセージ"
    Else
        MsgBox "条件に一致していません。", 16, "メッセージ"
    End If
   
End Sub

内容は、「A1セルに入力されている数値が5未満でない場合は”条件に一致しています。”を表示し、5未満の場合は”条件に一致していません。”を表示して下さい。」との意味になります。

f:id:m_kbou:20210222093659p:plain

※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例①]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。A1セルに数値の10が入力されています。<実行>ボタンをクリックします。(※ボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210304082940p:plain

②処理結果は以下の様になります。A1セルに入力されている数値が5未満でない条件に一致している事から、「条件に一致しています。」が表示されます。

f:id:m_kbou:20210304082953p:plain

実行例①のついての説明は以上です。

[実行例②]:

①<実行>ボタンには上記のプログラミング例のプログラムが登録されています。A1セルに数値の3が入力されています。<実行>ボタンをクリックします。(※ボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210304083006p:plain

②処理結果は以下の様になります。A1セルに入力されている数値が5未満でない条件に一致していない事から、「条件に一致していません。」が表示されます。

f:id:m_kbou:20210304083021p:plain

実行例②ついての説明は以上です。

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

Not演算子(論理否定)の使い方についての説明は以上です。

 

おわりに

今回は論理演算子の使い方について説明しました。類似内容として比較演算子の使い方があります。是非一緒に覚えておいて下さい。