[1][VBA基礎](https://hackmd.io/@aroncode/S19NqX0WC)
[2][VBA變數的概念](https://hackmd.io/@aroncode/SJXRlNAWA)
[3][Inputbox](https://hackmd.io/@aroncode/SJ6XvNRWC)
[4][條件語句](https://hackmd.io/@aroncode/H1hZ94R-A)
[5][物件的概念](https://hackmd.io/@aroncode/H1zoyckXA)
[6][循環語句](https://hackmd.io/@aroncode/HkS3-hJXC)
[7][巨集與函數](https://hackmd.io/@aroncode/BJarvh1QA)
# 變數的概念
把變數想像成一個物件下的屬性,變數有可能在程式執行中發生變化,例如x=1,那過程中可能會發生加減,影響最後x的結果。
與變數相對的概念是「常數」,常數在程式設計當中不會去更改它。
## 變數
### 命名規則
1. 不可使用@、&、$、-等這類符號,但可以使用半形數字、英文、底線。
1. 名稱開頭不可以以數字或底線開頭,例如:_test、1test。
1. 不可使用VBA保留字,例如:Sub。
1. 不可使用內建巨集名稱。
1. 名稱長度必須低於255個字元。 (全形是2個字元)
### 型態

資料來源:https://s4017050400.medium.com/excel-vba-%E8%B3%87%E6%96%99%E5%9E%8B%E6%85%8B-bcda2206229a
### 範例1
```
Sub Square()
Dim Height As Integer
Dim Width As Integer
Dim area As Integer
Height = 10
Width = 5
area = Height * Width
MsgBox area
End Sub
```
在VBA中,如果你使用未宣告的變數,VBA 會將其視為新的 Variant 類型的變數。 這意味著,如果你沒有使用 Dim 語句明確宣告變量,VBA 會隱含地將其宣告為 Variant 類型。 雖然 Variant 類型的變數在某些情況下很方便,但在大多數情況下,最好明確聲明變數的資料類型。 這有助於提高程式碼的可讀性,並幫助在編寫和偵錯程式碼時捕獲潛在的錯誤。
在你的程式碼中,如果你沒有使用 Dim 來宣告 Height、Width 和 area,那麼這些變數會被隱式宣告為 Variant 類型。 但由於你在後面的程式碼中將它們用作整數類型進行乘法運算,VBA 可能會產生類型不匹配的錯誤或意外的行為。 因此,最好明確聲明這些變數的類型,以避免這種類型的錯誤。
### 變數的算術邏輯
範例1
```
Sub test()
Dim x As Integer
x = 1
x = x + 1
MsgBox x
End Sub
```
範例2
```
Sub test()
Dim x As Integer
x = 1
x = x + 1
MsgBox x '2
x = x * 5
MsgBox x '10
x = x / 2
MsgBox x '5
x = x - 5
MsgBox x '0
End Sub
```
單行寫法
```
Sub test()
Dim x As Integer: x = 1: x = x + 1: MsgBox x
End Sub
```
更多運算子
* 指數:^
* 取商數:\
* 取餘數:Mod