文、意如
再文章開始之前,先簡單介紹一下,VBA基本上就是一個寫巨集的程式語言,
什麼是巨集呢?你可以將重複性高的動作全部錄下來,存放在一個巨集中,待下次要使用時,直接套用這個巨集即可。
建議可以先了解,熟悉一下巨集功能,可先參考此篇文章:[Excel]一定要學會的巨集-基礎篇
實作:我的第一個VBA-跳出彈窗顯示訊息
▶ Windows:開啟Excel軟體→檔案→選項→自訂功能區→開發人員打V

▶ Mac:開啟Excel軟體→Excel→喜好設定→功能區和工具列→開發人員打V


檢查功能表列是否已經開啟開發人員的Tab

步驟一:
1. 工具列→開發人員→巨集

2. 輸入巨集名稱→命名為:“測試彈窗”

按下+號或建立按鈕來新增一個巨集。
此時會跳出VBA程式畫面,如果沒跳出下方程式畫面,請在你的巨集名稱上,雙擊兩下即可開啟,也可以直接點選開發人員→Visual Basic按鈕即可

程式介面如下:

步驟二:
接下來就可以開始寫程式了,我們要寫一個跳出彈窗訊息的程式。
一開始會預設寫好開始程序sub與結束程式End Sub
接下來在中間輸入要執行的程式碼

程式碼如下:
MsgBox(“hi,123”)
MsgBox 可以跳出一個彈窗的訊息,而括弧中的字串為彈窗中要出現的文字。
2.輸入完後按下工具箱中執行箭頭

點選執行按鈕後會跳出巨集對話窗,選擇該巨集「測試彈窗」後按下執行按鈕。

完成檔:已成功跳出彈窗

恭喜你第一個vba程式完成囉!
接下來我們快速認識一下在vba程式中如何註解與換行。
註解:只需要註解的文字前加上單引號(‘),在單引號後方的這行文字一律為註解,程式碼不執行,試試看打入’此行為註解,程式不執行
如下圖,再按下執行按鈕試試看:

換行:
VBA 的程式碼都是一行一個敘述,如果一行程式碼太長的時候,想要斷成多行時,只要在結尾處加上一個底線,例如:
x = “HelloWorld”
可以改寫為:
x =”Hello _
World”
一般程式碼中多餘的空白並不會影響程式的執行,所以通常程式設計師都會使用空白或Tab鍵稍微將程式碼排版一下,已方便閱讀。
按下按鈕,呼叫自己的程式(巨集),重新建立新的程式功能
如果是新的檔案要一個新的功能,直接點選開發人員→Visual Basic按鈕

在空白區按下右鍵→插入→模組

此時會跳出Module1,模組寫程式碼的視窗。

我們可以先修改模組名稱,方便我們更容易辨識,點選屬性→名稱→點擊後輸入你的新模組名稱

先在空白的地方打入以下文字
Sub test()
'要執行的程式
MsgBox ("hi,123")
End Sub

接下來回到 Excel 主視窗,點選左上角Excel圖示

1. 開發人員
2. 插入→按鈕
3. 在任一個位置左上拖到右下,拉一個按鈕出來(或者點一下)

滑鼠左鍵放開後,此時會出現指定巨集的視窗,選擇剛剛建立好的test巨集→確定

接下來就會出現一個按鈕,在按鈕上按下右鍵,再點一下按鈕即可更新按鈕上面的字。


按下去後就會去呼叫剛剛建立的test功能(訊息彈窗)
最後執行結果如下圖:

Yiru@Studio - 關於我 - 意如