比較演算子

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

構文

結果 = expression1comparisonoperatorexpression2result = object1Isobject2result = stringLikepattern

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

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

注釈

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

オペレーター True の条件 False の条件 Null の条件
< (より小さい) expression1<expression2 expression1>= expression2 expression1 または expression2 = Null
<= (以下) expression1<= expression2 expression1>expression2 expression1 または expression2 = Null
> (より大きい) expression1>expression2 expression1<= expression2 expression1 または expression2 = Null
>= (以上) expression1>= expression2 expression1<expression2 expression1 または expression2 = Null
= (等しい) expression1 = expression2 expression1<>expression2 expression1 または expression2 = Null
<> (等しくない) expression1<>expression2 expression1 = 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) の有効桁数に四捨五入されます。 通貨単一または二重と比較される場合、単一または二重通貨に変換されます。

同様に、DecimalSingle または Double と比較すると、Single または DoubleDecimal変換されます。 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 のサポートおよびフィードバックを参照してください。