重點摘要
- VBA 適合深入控制 Excel 桌面版,錄製巨集後通常仍需修改程式碼。
- Office Scripts 適合 Excel 網頁版與雲端檔案,可錄製操作並重複執行。
- Power Automate Desktop 適合跨 Excel、檔案及其他桌面軟體的流程自動化。
- 新手應先從單一、規則明確的重複工作開始,再逐步增加判斷與迴圈。
- 工具沒有絕對優劣,應依執行環境、流程範圍及維護能力選擇。
Excel 自動化不只有 VBA。若工作集中在 Excel 桌面版,可先考慮 VBA;若檔案主要放在雲端並使用 Excel 網頁版,可評估 Office Scripts;若流程還要操作資料夾、其他桌面軟體或多個 Excel 檔案,Power Automate Desktop 通常更直觀。
Excel 自動化常見的三種工具是什麼?
三種工具處理的核心問題都是「把重複操作變成可再次執行的流程」,但執行位置不同。VBA 主要在 Office 桌面應用程式內運作;Office Scripts 主要服務 Excel 網頁版;Power Automate Desktop 則以桌面流程為中心,串接 Excel、檔案及其他應用程式。
| 比較項目 | Excel VBA | Office Scripts | Power Automate Desktop |
|---|---|---|---|
| 主要環境 | Excel 桌面版 | Excel 網頁版 | Windows 桌面流程 |
| 常見起點 | 錄製巨集、VBA 編輯器 | 「自動化」索引標籤、錄製動作 | 流程設計器與預建動作 |
| 程式方式 | VBA 語法 | TypeScript/JavaScript 概念 | 低程式碼動作、變數與條件 |
| 適合工作 | 儲存格、工作表、活頁簿深度控制 | 雲端活頁簿的重複處理 | 跨 Excel、檔案、網站及桌面程式 |
| 新手門檻 | 可先錄製,但進階維護需懂語法 | 可先錄製,複雜工作需編輯指令碼 | 可拖放建立,仍需理解流程邏輯 |
| 主要限制 | 受巨集安全性與桌面環境影響 | 功能與使用資格依帳號及環境而異 | 檔案路徑、視窗狀態及同步資料夾需特別測試 |
VBA 適合哪些 Excel 工作?
VBA 適合大量操作儲存格、格式、工作表及活頁簿。新手可先用「錄製巨集」記下表格格式化等操作,再到 Visual Basic 編輯器查看程式碼;但錄製內容常含固定範圍,資料筆數改變時容易失效,因此正式使用前仍應改成動態範圍並加入錯誤處理。
① 🎯 選一個規則明確的工作
先選擇「套用標題格式」「設定框線」或「整理固定欄位」等簡單工作。不要一開始就錄製跨多個活頁簿、判斷條件又很多的長流程,否則產生的程式碼難以檢查。
② ⏺️ 錄製一段最小可行巨集
- 在 Excel 桌面版開啟「開發人員」索引標籤。
- 選擇「錄製巨集」,輸入容易辨識的名稱。
- 完成一小段操作後立即停止錄製。
- 開啟「巨集」,選取剛才的巨集並按「編輯」。
③ 🧪 用不同資料範圍測試
不要只在原始範例上執行。將資料列數增加或減少,再執行一次。如果巨集仍只處理錄製當時的固定範圍,就需要修改 Range、CurrentRegion 或最後一列偵測方式。
Office Scripts 適合哪些 Excel 工作?
Office Scripts 適合在 Excel 網頁版錄製、編輯與重播工作流程。指令碼儲存在雲端,適合處理雲端活頁簿;若要建立較複雜的條件、迴圈或動態範圍,仍需要閱讀並修改產生的程式碼。
① 🌐 確認 Excel 網頁版是否有「自動化」索引標籤
用 Microsoft 帳號或公司/學校帳號登入 Excel 網頁版,開啟一份測試活頁簿。若看不到「自動化」,先向組織管理員確認帳號、授權與管理原則,不要直接假設是瀏覽器故障。
② 🔴 使用動作錄製器建立第一支指令碼
- 選擇「自動化」。
- 按「從錄製建立」。
- 完成表格格式、公式或樞紐分析等可重複操作。
- 停止錄製並替指令碼命名。
- 在複本活頁簿中重播,確認結果一致。
③ ✏️ 檢查程式碼中的固定位置
展開指令碼並檢查是否鎖定特定工作表、儲存格或資料範圍。若來源資料可能增減,應先用小型測試檔修改與驗證,避免直接對正式資料執行。
Power Automate Desktop 適合哪些工作?
Power Automate Desktop 適合需要跨越 Excel 邊界的工作,例如開啟活頁簿、讀取資料、依條件拆分檔案、建立資料夾、重新命名及寄送通知。流程主要以預建動作排列,新手不必先寫完整程式,但仍要理解變數、迴圈、條件與例外處理。
① 🧭 先畫出人工流程
用一句話描述每個步驟,例如「開啟主檔 → 讀取工作表 → 依區域篩選 → 建立新檔 → 儲存關閉」。如果人工步驟還說不清楚,直接開始拖放動作通常只會得到難以維護的流程。
② 🧩 在流程設計器逐段建立
先完成「啟動 Excel」及「讀取工作表」兩個動作並測試,再加入迴圈與條件。每增加一小段就執行一次,這比一次建立完整流程更容易找出錯誤。
③ 📝 為變數與動作命名
將 %ExcelInstance%、資料表及輸出路徑等變數保留明確名稱,並為流程區段加入註解。未來檔案路徑或欄位變更時,才能快速找到需要調整的位置。
新手應如何選擇第一個工具?
最簡單的判斷方法是先問「流程發生在哪裡」。工作幾乎全部在 Excel 桌面版內,就從 VBA 開始;主要在 Excel 網頁版且檔案在雲端,就評估 Office Scripts;需要操作本機檔案或跨軟體,就從 Power Automate Desktop 開始。
① 🖥️ 確認執行環境
- 只能在 Windows 桌面上執行:優先評估 VBA 或 Power Automate Desktop。
- 主要使用 Excel 網頁版:優先評估 Office Scripts。
- 需要同時操作 Excel、資料夾與其他軟體:優先評估 Power Automate Desktop。
② 🔍 盤點流程邊界
列出流程碰到的所有物件:儲存格、活頁簿、資料夾、網站、電子郵件與桌面軟體。只要超出 Excel 的範圍很多,桌面流程通常更適合擔任主控工具。
③ 🧪 建立十分鐘可完成的原型
先做一個小型原型:讀取一份測試檔、完成一個轉換、輸出一份結果。確認可穩定重複執行後,再加入多檔案、條件或排程。
④ ✅ 用檢查表確認選擇
- 是否能在實際使用者的電腦與帳號環境執行?
- 檔案增加或資料筆數改變後仍能運作嗎?
- 出錯時是否能找出失敗步驟?
- 接手的人是否看得懂變數、流程與註解?
- 是否已用資料複本測試,而不是直接操作唯一的正式檔?
實務案例:每月銷售報表應該選哪一種?
以下為示範情境。營運人員每月收到一份銷售主檔,需要套用格式、依區域拆成多份檔案並存入指定資料夾。
- 若只需在同一活頁簿套用格式,可錄製 VBA 巨集並改成動態範圍。
- 若資料存放在 Excel 網頁版且只處理同一活頁簿,可使用 Office Scripts。
- 若要讀取主檔、建立多個活頁簿、命名並儲存到不同資料夾,可使用 Power Automate Desktop 控制完整流程。
產出結果應該是每個區域各有一份檔案,而且各檔案筆數合計等於主檔筆數。限制是欄位名稱與區域值必須先標準化;例如「北區」與「北 部」若未清理,可能被當成不同分類。
如何確認自動化結果正確?
不要只看流程顯示成功。至少核對來源檔與輸出檔的資料筆數、關鍵欄位、總計及檔案數量;也要測試空白資料、錯誤路徑與檔案已存在等情境。
- 📊 記錄來源資料總筆數與金額總計。
- 📁 確認輸出檔案數與預期分類數一致。
- ➕ 加總所有輸出檔的筆數與金額,與來源比對。
- 🧯 故意輸入錯誤路徑,確認流程有清楚的錯誤訊息。
- 🔁 再執行一次,確認不會無限制產生重複檔案。
常見錯誤與排除方式
- 錄製的 VBA 只處理固定範圍:檢查錄製程式碼中的固定 Range,改用可偵測最後一列或 CurrentRegion 的方式。
- Excel 網頁版看不到自動化功能:確認帳號、授權與組織原則,並查看 Microsoft 官方的 Office Scripts 使用需求。
- Power Automate Desktop 找不到檔案:先顯示並記錄完整路徑,確認變數沒有多餘空白,並避免未測試就直接使用同步中的雲端檔案。
- 流程可執行但資料不完整:核對迴圈的開始與結束位置、篩選條件及輸出前的資料表筆數。
常見問題
完全不會程式,可以學 Power Automate Desktop 嗎?
可以。新手可以先用預建動作建立線性流程,但仍應逐步學習變數、條件、迴圈及錯誤處理。低程式碼不代表不需要流程邏輯。
Power Automate Desktop 可以直接執行 Excel VBA 巨集嗎?
可以在已開啟的 Excel 執行個體中使用「執行 Excel 巨集」動作,但必須確認活頁簿格式、巨集名稱及巨集安全性設定。
VBA 與 Power Automate Desktop 可以一起使用嗎?
可以。Power Automate Desktop 可負責檔案、資料夾與跨軟體流程,再呼叫 Excel 活頁簿中的 VBA 巨集處理工作表內部邏輯。
Office Scripts 就是網頁版 VBA 嗎?
兩者用途相似,但執行環境、物件模型與語法不同。Office Scripts 不是把 VBA 程式碼直接搬到網頁版,既有巨集通常需要重新設計。
延伸閱讀
- Power Automate 自動化實戰主題指南
- Power Automate Desktop 依區域拆分 Excel 資料
- Excel VBA 效率提升文章分類
- 倍增 Power Automate Desktop 自動化超能力課程
參考來源
- Microsoft Learn(繁體中文):電腦版 Power Automate 的 Excel 動作參考
- Microsoft 支援(繁體中文):Excel 中的 Office 指令碼簡介
- Microsoft 支援(繁體中文):將動作錄製為 Office 指令碼
- Microsoft Learn(繁體中文):Office 的 VBA 入門
- Microsoft Learn(繁體中文):在 Excel 活頁簿上執行巨集
- 本文另依課程逐字稿與實務操作經驗整理;實際功能、介面與使用資格請以 Microsoft 最新文件為準。

