比較運算子

用來比較 表達方式。

語法

結果 = expression1比較運算子expression2結果 = object1是物件2結果 = 串類似模式

比較運算 子包含以下部分:

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

註解

下表列出比較運算子及決定 結果 為 真、 假或 空的條件。

運算子 若 若為假 若 則為零
< (不到) 表達式1<表達式2 表達式1>= 表達式2 expression1 或 expression2 = Null
<= (小於或等於) 表達式1<= 表達式2 表達式1>表達式2 expression1 或 expression2 = Null
> (比) 更偉大 表達式1>表達式2 表達式1<= 表達式2 expression1 或 expression2 = Null
>= (大於或等於) 表達式1>= 表達式2 表達式1<表達式2 expression1 或 expression2 = Null
= (等於) 表達式1 = 表達式2 表達式1<>表達式2 expression1 或 expression2 = Null
<> (不等於) 表達式1<>表達式2 表達式1 = 表達式2 expression1 或 expression2 = Null

注意事項

Is 與 Like 運算子具有與表格中運算子不同的特定比較功能。

比較兩個表達式時,你可能無法輕易判斷它們是以數字還是字串形式比較。 下表展示了當任一表達式非 變體時,表達式的比較或結果。

If Then
這兩種表達式都是數值資料類型 (位元組、布林、整數、長、單、雙、日期、貨幣或十進位) 進行數值比較。
這兩種表達式都是 弦 進行 字串比較。
一個表達式是數值資料型別,另一個是 變體 ,可以是數字 進行數值比較。
一個表達式是數值資料型別,另一個是無法轉換成數字的字串 變 體 Type Mismatch發生錯誤。
其中一個表達式是字串,另一個則是除 Null 以外的任何變體 進行字串比較。
其中一個表達式為 Empty ,另一個為數值資料型態 執行數值比較,使用 0 作為 Empty 表達式。
一個表達式為 Empty ,另一個為 String 使用一個零長度的字串 (“”) 作為 Empty 表達式,進行字串比較。

如果 expression1 和 expression2 都是 變體 表達式,則其底層類型決定如何比較它們。 下表展示了表達式的比較方式或比較結果,取決於變 異的底層類型。

If Then
兩種 變體 表達式皆為數值 進行數值比較。
兩種 變體 表達式都是字串 進行字串比較。
其中一個 變體 表達式是數值式,另一個是字串式 數值表達式比字串表達式小。
一種 變體 表達式為 空 ,另一種為數值式 執行數值比較,使用 0 作為 Empty 表達式。
其中一個 變體 表達式為 Empty ,另一個為字串 使用一個零長度的字串 (“”) 作為 Empty 表達式,進行字串比較。
兩個 變體 表達式皆 為空 這兩個表達式是相等的。

當單 張 與 雙張比較時,雙 張 會四捨五入到與 單張相同的精度。 若貨幣與單倍或雙倍貨幣比較,該貨幣會被轉換成貨幣。

同樣地,當將十進位與單或雙進位比較時,單或雙進位會被轉換成十進位。 對於 貨幣,任何小於 0.0001 的分數值都可能遺失;對於小 於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 支援與意見反應。