比較演算子
式を比較するために使用します。
構文
結果 = 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 |
---|---|
両方の式が数値データ型 (Byte、Boolean、Integer、Long、Single、Double、Date、Currency、または Decimal) | 数値比較を実行します。 |
両方の式が文字列型 (String) | 文字列比較を実行します。 |
一方の式が数値データ型で、もう一方が数値の (または数値に変換可能な) バリアント型 (Variant) | 数値比較を実行します。 |
一方の式が数値データ型で、もう一方が数値に変換できない文字列のバリアント型 (Variant) |
Type Mismatch エラーが発生します。 |
一方の式が文字列型 (String) で、もう一方が Null 以外のバリアント型 (Variant) | 文字列比較を実行します。 |
一方の式が Empty で、もう一方が数値データ型 | 0 を Empty 式として使用して、数値比較を実行します。 |
一方の式が Empty で、もう一方が文字列型 (String) | 長さ 0 の文字列 ("") を Empty 式として使用して文字列比較を実行します。 |
expression1 と expression2 が両方ともバリアント型 (Variant) の式である場合、その基になる型によって式の比較方法が決まります。 次の表は、 バリアント型の基になる型に応じて、式がどのように比較されるか、比較の結果を示しています。
条件 | Then |
---|---|
両方のバリアント型 (Variant) の式が数値 | 数値比較を実行します。 |
両方のバリアント型 (Variant) の式が文字列 | 文字列比較を実行します。 |
一方のバリアント型 (Variant) の式が数値で、もう一方が文字列 | 数値式は文字列式よりも小さくなります。 |
一方のバリアント型 (Variant) の式が Empty で、もう一方は数値 | 0 を Empty 式として使用して、数値比較を実行します。 |
一方のバリアント型 (Variant) の式が Empty で、もう一方が文字列 | 長さ 0 の文字列 ("") を Empty 式として使用して、文字列比較を実行します。 |
両方のバリアント型 (Variant) の式が Empty | 式は等しくなります。 |
単精度浮動小数点型 (Single) を倍精度浮動小数点型 (Double) と比較する場合は、倍精度浮動小数点型 (Double) が単精度浮動小数点型 (Single) の有効桁数に四捨五入されます。 通貨が単一または二重と比較される場合、単一または二重は通貨に変換されます。
同様に、Decimal を Single または Double と比較すると、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 のサポートおよびフィードバックを参照してください。