教えて!ExcelVBA!

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

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

f:id:m_kbou:20200416172120p:plain

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

 

 

構文

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

(1)論理積

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

[説明]:

どちらの条件も満たす場合の指定になります。

[条件式1] 任意の条件式を記述します
[条件式2] 任意の条件式を記述します

[記述例]:

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

(2)論理和

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

[説明]:

どちらかの条件を満たす場合の指定になります。

[条件式1] 任意の条件式を記述します
[条件式2] 任意の条件式を記述します

[記述例]:

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

(3)論理否定

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演算子(論理否定)の使い方についての説明は以上です。

 

おわりに

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