比較演算子

を比較するために使用します。

構文

result = expression1 comparisonoperator expression2
result = object1 Is object2
result = string Like パターン

比較演算子には、次の指定項目があります。

指定項目 説明
result 必須。任意の数値変数
expression 必須。任意の式を指定します。
comparisonoperator 必須。任意の比較演算子を指定します。
object 必須。任意のオブジェクト名を指定します。
string 必須。任意の文字列式です。
pattern 必須。任意の文字列式または文字範囲を指定します。

注釈

次の表に、比較演算子の一覧と、結果True、False、 または Nullかどうかを決定する条件を示 します

演算子 True の条件 False の条件 Null の条件
< (より小さい) 式1 < expression2 式1 >= expression2 expression1 または expression2 = Null
<= (以下) 式1 <= expression2 式1 > expression2 expression1 または expression2 = Null
> (より大きい) 式1 > expression2 式1 <= expression2 expression1 または expression2 = Null
>= (より大きいか等しい) 式1 >= expression2 式1 < expression2 expression1 または expression2 = Null
= (等しい) 式1 = expression2 式1 <> expression2 expression1 または expression2 = Null
<> (等しくない) 式1 <> expression2 式1 = expression2 expression1 または expression2 = Null

注意

Is 演算子と Like 演算子には、この表の演算子とは異なる特定の比較機能があります。

2 つの式を比較する際に、式が数値として比較されているか、または文字列として比較されているかを簡単に判断できない場合があります。 次の表は、いずれかの式がバリアント型 (Variant)ではない場合の式の比較方法または結果を示しています。

条件 Then
両方の式が数値データ型 (ByteBooleanIntegerLongSingleDoubleDateCurrency、または Decimal) 数値比較を実行します。
両方の式が文字列型 (String) 文字列比較を実行します。
一方の式が数値データ型で、もう一方が数値の (または数値に変換可能な) バリアント型 (Variant) 数値比較を実行します。
一方の式が数値データ型で、もう一方が数値に変換できない文字列のバリアント型 (Variant) Type Mismatch エラーが発生します。
一方の式が文字列型 (String) で、もう一方が Null 以外のバリアント型 (Variant) 文字列比較を実行します。
一方の式が Empty で、もう一方が数値データ型 0 を Empty 式として使用して、数値比較を実行します。
一方の式が Empty で、もう一方が文字列型 (String) 長さ 0 の文字列 ("") を Empty 式として使用して文字列比較を実行します。

expression1expression2 が両方ともバリアント型 (Variant) の式である場合、その基になる型によって式の比較方法が決まります。 次の表は、バリアント型の基になる型に応じて、式の比較方法または比較結果を示 しています

条件 Then
両方のバリアント型 (Variant) の式が数値 数値比較を実行します。
両方のバリアント型 (Variant) の式が文字列 文字列比較を実行します。
一方のバリアント型 (Variant) の式が数値で、もう一方が文字列 数値式は文字列式よりも小さくなります。
一方のバリアント型 (Variant) の式が Empty で、もう一方は数値 0 を Empty 式として使用して、数値比較を実行します。
一方のバリアント型 (Variant) の式が Empty で、もう一方が文字列 長さ 0 の文字列 ("") を Empty 式として使用して、文字列比較を実行します。
両方のバリアント型 (Variant) の式が Empty 式は等しくなります。

単精度浮動小数点型 (Single) を倍精度浮動小数点型 (Double) と比較する場合は、倍精度浮動小数点型 (Double) が単精度浮動小数点型 (Single) の有効桁数に四捨五入されます。 通貨が 単一 または倍数と比較される場合、単一または 数は通貨に変換 されます

同様に 、Decimal を単一 または倍精度で比較すると、Single または Double は Decimal に変換 されます。 Currency 場合、.0001 未満の小数部の値は失われる可能性があります。Decimal 場合、1E-28 未満の小数部の値が失われたり、オーバーフロー エラーが発生する可能性があります。 このような小数部の値の損失は、2 つの値が等しくない場合に等しいと比較される可能性があります。

次の例では、式の比較に使用する比較演算子のさまざまな使用方法を示します。

Dim MyResult, Var1, Var2
MyResult = (45 < 35)    ' Returns False.
MyResult = (45 = 45)    ' Returns True.
MyResult = (4 <> 3)    ' Returns True.
MyResult = ("5" > "4")    ' Returns True.

Var1 = "5": Var2 = 4    ' Initialize variables.
MyResult = (Var1 > Var2)    ' Returns True.

Var1 = 5: Var2 = Empty
MyResult = (Var1 > Var2)    ' Returns True.

Var1 = 0: Var2 = Empty
MyResult = (Var1 = Var2)    ' Returns True.

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。