+ 運算子
用來加總兩個數位。
語法
結果 = expression1 + expression2
+ 運算子語法包含下列部分:
部分 | 描述 |
---|---|
result | 必要;任何數值的變數。 |
expression1 | 必填;任何 表達式。 |
expression2 | 必要;任何運算式。 |
註解
當您使用 運算 + 符時,可能無法判斷是否會發生加法或字串串連。 使用 & 運算符進行串連,以消除模棱兩可的情況,並提供自我記錄程序代碼。
如果至少有一個表達式不是 Variant,則適用下列規則。
If | Then |
---|---|
這兩個表達式都是 byte、Boolean、Integer、Long、Single、Double、Date、Currency 或 Decimal (數值數據類型) | [ 新增 ]。 |
這兩個表達式都是 String | 連接。 |
一個表達式是數值數據類型,另一個則是 Null 以外的任何 Variant | [ 新增 ]。 |
其中一個表達式是 String,另一個則是 Null 以外的任何 Variant | 連接。 |
其中一個表達式是 EmptyVariant | 傳回其餘表達式, 結果為未變更。 |
其中一個表達式是數值數據類型,另一個則是 String | 發生 Type mismatch 錯誤。 |
任一表達式都是 Null | 結果 為 Null。 |
如果這兩個表達式都是 Variant 運算式,則適用下列規則:
If | Then |
---|---|
這兩 個 Variant 運算式都是數值 | [ 新增 ]。 |
這兩 個 Variant 運算式都是字串 | 連接。 |
一個 Variant 運算式是數值,另一個是字串 | [ 新增 ]。 |
針對只涉及數值數據類型表達式的簡單算術加法,結果的數據類型通常與最精確表達式的數據類型相同。 精確的順序,從最不精確到最精確,是 Byte、Integer、Long、Single、Double、Currency 和 Decimal。 以下是此順序的例外狀況。
If | 然後結果是 |
---|---|
新增單一和 Long | Double。 |
result 的資料類型為溢位其合法範圍的 Long、Single 或 Date 變體 | 轉換成 Double 變體。 |
result 的資料類型為溢位其合法範圍的 Byte 變體 | 轉換成 Integer 變體。 |
result 的資料類型為溢位其合法範圍的 Integer 變體 | 轉換成 Long 變體。 |
Date 會新增至任何數據類型 | Date。 |
如果一或兩個運算式為 Null 運算式,則 result 為 Null。 如果兩個表達式都是 空白的, 則結果 為 整數。 不過,如果只有一個表達式為 空白,則另一個表達式會因為 結果而未變更傳回。
注意事項
加法和減法使用的精確度順序與乘法使用的精確度順序不同。
範例
這個範例會使用運算 + 符來加總數位。 運算 + 子也可以用來串連字串。 不過,若要消除模棱兩可的情況,您應該改用 & 運算符。 如果使用 + 運算子建立的表達式元件同時包含字串和數值,則會指派算術結果。 如果元件是獨佔字串,則會串連字串。
Dim MyNumber, Var1, Var2
MyNumber = 2 + 2 ' Returns 4.
MyNumber = 4257.04 + 98112 ' Returns 102369.04.
Var1 = "34": Var2 = 6 ' Initialize mixed variables.
MyNumber = Var1 + Var2 ' Returns 40.
Var1 = "34": Var2 = "6" ' Initialize variables with strings.
MyNumber = Var1 + Var2 ' Returns "346" (string concatenation).
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。