更新日:、 作成日:
VBA ブール型を判定する
はじめに
Excel VBA マクロのブール型 (Boolean) を判定する方法を紹介します。
False が初期値 (既定値) です。
等しい 値 = 値 、等しくない 値 <> 値のように比較演算子を使用して、値を判定できます。
かつ 条件 And 条件 、または 条件 Or 条件 のように論理演算子を使用して、複数条件を判定できます。
Boolean の初期値
Boolean 型には True か False の値を設定します。
False が初期値 (既定値) です。
Dim b As Boolean
Debug.Print(b) ' False、初期値
Boolean を判定する
比較演算子を使用して比較した結果が Boolean 型になります。比較した結果が真のものが True。偽のものが False です。
= を入力して、等しいか判定できます。
<> を入力して、等しくないか判定できます。
Dim b As Boolean
b = (1 = 2)
Debug.Print(b) ' False、等しい
b = (1 <> 2)
Debug.Print(b) ' True、等しくない
b = (1 > 2)
Debug.Print(b) ' False、大きい
b = (1 < 2)
Debug.Print(b) ' True、小さい
b = (1 >= 2)
Debug.Print(b) ' False、以上
b = (1 <= 2)
Debug.Print(b) ' True、以下
比較演算子について詳しくは「演算子」をご覧ください。
「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
複数条件の判定
論理演算子を使用して、複数条件や 3 つ以上の条件にできます。
すべての条件に一致するときは 条件 And 条件 のように入力します。
どれか 1 つでも条件に一致するときは 条件 Or 条件 のように入力します。
演算子 | 演算名 | 使用例 | 結果 |
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 = 0
Dim s As String
s = "Tips"
If (i >= 0 And i <= 10) And (s = "Tips") Then
Debug.Print("And") ' i が 0 以上「かつ」10 以下で、s が "Tips" のとき
End If
論理演算子や優先順位について詳しくは「演算子」をご覧ください。
スポンサーリンク