+ 運算子

過去會把兩個數字相加。

語法

結果 = 表達式1 + 表達式2

+ 運算子語法包含下列部分:

部分 描述
result 必要;任何數值的變數。
expression1 必須;任何 表情。
expression2 必要;任何運算式。

註解

使用 + 運算子時,可能無法判斷會發生加法還是串接。 使用 & 運算子進行串接,以消除歧義並提供自我記錄程式碼。

若至少有一個表達式不是 變體,則適用以下規則。

If Then
這兩種表達式都是數值資料類型 (位元組、布林、整數、長、單、雙、日期、貨幣或十進位) [ 新增 ]。
這兩種表達式都是 弦 連結起來。
其中一個表達式是數值資料型別,另一個則是除 Null 以外的任何變體 [ 新增 ]。
其中一個表達式是字串,另一個則是除 Null 以外的任何變體 連結起來。
其中一個表達式是 空變體 結果則以不變的剩餘表達式回傳。
其中一個表達式是數值資料型態,另一個是 字串 Type mismatch發生錯誤。
任一表達式皆為 Null 結果 為 Null。

若兩個表達式皆為 變體 表達式,則適用以下規則:

If Then
兩種 變體 表達式皆為數值 [ 新增 ]。
兩種 變體 表達式都是字串 連結起來。
其中一個 變體 表達式是數值式,另一個是字串式 [ 新增 ]。

對於僅涉及數值資料型態表達式的簡單算術加法,結果的資料類型通常與最精確表達式相同。 精確的順序,從最不精確到最精確,是 Byte、Integer、Long、Single、Double、Currency 和 Decimal。 以下為此順序的例外。

If 然後結果是
新增了單曲和長曲 Double。
result 的資料類型為溢位其合法範圍的 Long、Single 或 Date 變體 改裝成 雙人 版。
result 的資料類型為溢位其合法範圍的 Byte 變體 轉換成 Integer 變體。
result 的資料類型為溢位其合法範圍的 Integer 變體 轉換成 Long 變體。
任何資料型別都會新增日期 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 支援與意見反應。