サイトについて      連絡先   検索

VBA ブール型を操作する

はじめに

Excel VBA マクロのブール型 (Boolean) を操作する方法を紹介します。

True と False の 2 種類の値があります。

If 文の条件の結果や And や Or などの論理演算によく使います。

  • 目次
    • Boolean
    • 論理演算する

Boolean

演算子」の =<>などで比較した結果が Boolean 型になります。比較した結果が真のものを True。偽のものを False で表します。


Dim b As Boolean

b = (1 = 1)
Debug.Print(b) ' True、等しい

b = (1 <> 1)
Debug.Print(b) ' False、等しくない

If 文」などの条件を指定するところに Boolean 型を指定するので、条件の結果としてよく使われます。


Dim b As Boolean
b = (1 = 1) ' 条件

If b Then ' 結果をそのまま指定する
    Debug.Print("True")
End If

If (1 = 1) Then ' 条件を指定する
    Debug.Print("True")
End If

論理演算する

演算子」の論理演算子で Boolean を操作できます。

演算子 演算名 使用例 結果
And論理積True And True
True And False
False And False
True
False
False
Or論理和True Or True
True Or False
False Or False
True
True
False
Not論理否定Not True
Not False
False
True
Xor排他的論理和True Xor True
True Xor False
False Xor False
False
True
False

And はどちらも True のときのみ結果が True になります。

Or はどちらかが True なら結果が True になります。

Not は結果を反転します。

Xor は比較するものが異なるときに結果が True になります。


Dim b As Boolean

b = (True And False)
Debug.Print(b) ' False

b = (True Or False)
Debug.Print(b) ' True

b = (True And False) Or (True Or False) ' False Or True を比較している
Debug.Print(b) ' True

b = Not ((True And False) Or (True Or False)) ' Not (False Or True) を比較している
Debug.Print(b) ' False

()を付けると何を比較しているかわかりやすくなります。

論理演算は複数の条件を指定するときに使われます。


Dim i As Integer
i = 1
Dim j As Integer
j = 2

If (i = 1) And (j <> 1) Then
    Debug.Print("True")
End If
  • 目次
    • Boolean
    • 論理演算する