VBA教學:2個Excel巨集語法與基本程式範例

VBA教學可以先認識2種巨集語法,分別是Sub程序與Function函數,涵蓋了大部份需求,本文以此為基礎,搭配基本程式範例,帶你瞭解怎麼開始著手自動化專案。

一、Excel巨集語法

Excel巨集語法主要分為Sub程序與Function函數兩種結構,前者負責執行動作、不回傳結果,常用於按鈕與自動化流程;後者則可回傳計算值,適合重複運算與公式應用。掌握這兩種寫法,就是學會VBA的第一步。

以下具體介紹這兩大類Excel巨集語法如下:

嗨嗨!各位小屋的朋友們大家好!👋 今天我們要來搞懂 VBA 最核心的兩個大將,把它們學好,你的自動化房子才蓋得穩喔!快跟著贊贊一起看下去吧!✨

1. 程序 (Sub) — 默默做事的行動派 👷

「Sub」就像是小屋裡的超級志工,你叫它做什麼,它就去執行!
它專門負責「執行動作」(像是點擊按鈕、跑自動化流程),做完就收工,不會回傳結果給你喔!

Sub 程序名稱([參數列表])
    ' ⬇️ 在這裡寫下你要它做的苦力活
    ' 例如:填滿顏色、刪除資料...
    
    [Exit Sub]  ' 視需求提前結束程序
End Sub

2. 函數 (Function) — 精打細算的數學家 🧮

「Function」則是帶著智慧的夥伴,它不只會做事,還會「給你答案」!
除了執行程式邏輯,還會把運算後的結果傳回去給呼叫它的地方,常用在公式計算。

Function 函數名稱([參數列表]) As 資料類型
    ' ⬇️ 在這裡進行運算邏輯
    
    ' ⚠️ 關鍵動作:記得把算出來的答案塞回去給函數名稱!
    函數名稱 = 返回值
    
    [Exit Function]  ' 視需求提前結束函數
End Function

💡 贊贊的一秒懶人包

  • Sub (程序): 對他說「去做!」👉 他做完就沒事了。
  • Function (函數): 對他說「算給我看!」👉 他會做完,然後把答案交到你手上。

這樣大家有沒有更清楚啦?覺得有幫助的話,記得幫我按個大大的贊,我們下次見!💪🚀

一、Excel巨集語法

二、VBA教學基礎

VBA教學基礎有變數、判斷式與迴圈三大核心,讓程式能依情況自動決策與重複處理工作。在適當設定好變數之後,依照專案情況設計程式碼該怎麼碼,這就是流程控制。從If與Select Case學會選路,再用For、For Each與Do Loop跑流程,這套思維能把原本手動的Excel操作一次變成全自動,真正解放時間,讓表格開始替你工作。

以下簡單介紹6種流程控制,帶你建立VBA教學基礎的根基:

🏠

讓程式長出大腦!
搞懂這 6 種流程控制 🧠✨

嗨嗨!歡迎來到贊贊小屋!👋
寫程式卡關常常不是因為邏輯難,而是卡在「下一步該怎麼走」。掌握好這些 VBA 的交通規則,你的程式就會懂得轉彎跟思考喔!


1️⃣ If…Then…Else:讓程式學會選擇 🤔

這是最基本的「紅綠燈」,告訴電腦:條件成立走這條,不成立走那條。

' 單行形式
If 條件 Then 語句

' 多行形式
If 條件1 Then
    ' 做第一件事
ElseIf 條件2 Then
    ' 做第二件事
Else
    ' 以上皆非
End If

💡 贊贊小語:有了它,程式再也不會亂闖紅燈啦!🛑

2️⃣ Select Case:選項爆炸時的救星 🌟

當比對的情況有一拖拉庫,If 會寫到眼花。用這個像開關面板一樣,一眼找到該切哪一個!

Select Case 變數
    Case 值1
        ' 狀況 1
    Case 值2, 值3
        ' 狀況 2 或 3
    Case 4 To 5
        ' 範圍內
    Case Else
        ' 漏網之魚
End Select

3️⃣ For…Next:設定目標的跑者 🏃‍♂️

就像設好里程的跑步機,清楚知道要跑幾圈,跑完自動停。

For i = 1 To 10 Step 2
    Cells(i, 1).Value = i 
    ' 把 1, 3, 5, 7, 9 填進去
Next i

4️⃣ For Each…Next:點名高手 🔍

處理「一整排儲存格」或「一堆物件」時最好用,不用管編號,直接一個個抓出來!

Dim cell As Range
For Each cell In Range("A1:A10")
    cell.Value = cell.Value * 2
Next cell

5️⃣ Do…Loop & While:堅持到底 🔄

適合「不知道要跑幾次,反正跑到條件滿足為止」的情境。

' 直到條件成立才停
Do Until 條件
    ' ...
Loop

' 條件為真就一直跑 (極簡風)
While 條件
   ' ...
Wend

🎉 贊贊總結

把這幾招學起來,你的 VBA 就不再只是呆板的機器人,而是會思考、會轉彎的聰明 AI 啦!🤖💡
下次寫程式卡住時,記得回來翻翻這篇筆記喔!掰掰~👋❤️

VBA教學:2個Excel巨集語法與基本程式範例
YouTube video

三、部落格文章分享

以下分享贊贊小屋相關文章:

載入中...


贊贊小屋VBA教學中心:

Excel巨集執行Excel巨集程式Excel巨集程式碼Excel VBA教學VBA教學VBA基本應用VBA UserFormVBA VLOOKUP

VBA課程推薦:零基礎入門進階的20小時完整內容

VBA課程:20小時完整入門進階,職場及投資應用