共用方式為


比較運算子

用來比較 表達式

語法

結果 = expression1comparisonoperatorexpression2result = object1Isobject2result = stringLikepattern

比較運算子 具有下列部分:

部分 描述
result 必要;任何數值的變數
expression 必要;任何運算式。
comparisonoperator 必填;任何比較運算符。
object 必填;任何物件名稱。
string 必填;任何 字串表達式
模式 必填;任何字串表示式或字元範圍。

註解

下表包含比較運算符的清單,以及判斷 結果TrueFalseNull 的條件。

運算子 True 是表示 如果 False 表示 如果為 Null,
< (小於) expression1<expression2 expression1>= expression2 expression1expression2 = Null
<= (小於或等於) expression1<= expression2 expression1>expression2 expression1expression2 = Null
> (大於) expression1>expression2 expression1<= expression2 expression1expression2 = Null
>= (大於或等於) expression1>= expression2 expression1<expression2 expression1expression2 = Null
= (等於) expression1 = expression2 expression1<>expression2 expression1expression2 = Null
<> (不等於) expression1<>expression2 expression1 = expression2 expression1expression2 = Null

注意事項

IsLike 運算元具有與數據表中運算子不同的特定比較功能。

比較兩個運算式時,您可能無法輕鬆地判斷表示式是以數位或字串來比較。 下表顯示當其中一個表達式不是 Variant 時,如何比較表達式或結果。

If Then
這兩個表達式都是 byte、BooleanIntegerLongSingleDoubleDateCurrencyDecimal (數值數據類型) 執行數值比較。
這兩個表達式都是 String 執行 字串比較
其中一個表達式是數值數據類型,另一個運算式是數位或可以是數位的 Variant 執行數值比較。
一個表達式是數值數據類型,另一個則是無法轉換成數位的字串 Variant 發生 Type Mismatch 錯誤。
其中一個表達式是 String,另一個則是 Null 以外的任何 Variant 執行字串比較。
其中一個表達式為 空白 ,另一個則是數值數據類型 執行數值比較,使用0做為 空白 運算式。
其中一個表達式為 空白 ,另一個則是 String 執行字串比較,使用零長度字串 (“”) 做為 空白 表達式。

如果 expression1expression2 都是 Variant 運算式,則其基礎類型會決定它們的比較方式。 下表顯示如何根據 Variant 的基礎類型來比較表示式或比較的結果。

If Then
這兩 個 Variant 運算式都是數值 執行數值比較。
這兩 個 Variant 運算式都是字串 執行字串比較。
一個 Variant 運算式是數值,另一個是字串 數值表達式小於字串表達式。
一個 Variant 運算式為 Empty ,另一個是數值 執行數值比較,使用0做為 空白 運算式。
一個 Variant 運算式為 Empty ,另一個是字串 執行字串比較,使用零長度字串 (“”) 做為 空白 表達式。
這兩個 Variant 運算式都是 表達式相等。

SingleDouble 比較時, Double 會四捨五入為 Single 的有效位數。 如果貨幣與 Single 或 Double 比較,SingleDouble 會轉換成貨幣

同樣地,當 小數點SingleDouble 比較時, SingleDouble 會轉換成 十進位。 針對 Currency,任何小於 .0001 的小數值都可能會遺失;針對 Decimal,任何小於 1E-28 的小數值可能會遺失,或可能發生溢位錯誤。 當兩個值不相等時,這類小數值遺失可能會導致兩個值比較為相等。

範例

此範例示範比較運算子的各種用法,您可以使用這些運算符來比較表達式。

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 支援與意見反應