過去會把兩個數字相加。
語法
結果 = 表達式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 支援與意見反應。