2022/05/18

【Excel教學】我的第一個VBA程式

文、意如老師

再文章開始之前,先簡單介紹一下,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功能(訊息彈窗)

最後執行結果如下圖:



加入菜鳥救星官方Line並回覆「我想看文章」,不定期獲得更多知識吧!

不同頻道,不同知識!