為什麼該主動避開 VBA
VBA 是能讓 Excel 動起來,但它是一門得另外學、還得長期維護的語言。一段你自己讀不懂的巨集,就是一筆負債;一本塞滿這種巨集的活頁簿,也很難交到下一棒手上。那些曾經幫人省下一個月點擊量的巨集,最後常常變成誰都不敢改的指令碼。
巨集還帶著很實在的摩擦:帶 VBA 的檔案會觸發信任中心的安全警告,而且只要有一行讀不懂,整個流程就沒辦法維護。光是那個巨集安全提示,就足以讓很多非技術背景的使用者根本不碰 VBA,這也是下面那些替代方案重要的原因。
2026 年大家避開 VBA,說穿了不是它做不了事,而是寫它、伺候它要花的成本,對大多數人真正需要的那種自動化來說,往往划不來。下面這五種替代方案,一行程式碼都不用寫,就能涵蓋常見情境,從 Excel 內建的工具,到直接替你把活做掉的 AI Agent 都有。
安全性這件事不只是摩擦,它是一道擋路的牆。帶巨集的檔案會被信任中心的設定標記、在共用環境裡顯示成已停用,還可能被 IT 政策整個封鎖;只要一本活頁簿會在人與人之間、或不同機器之間流轉,選 VBA 就很脆弱。下面這些替代方案都沒有這個包袱。
這筆成本有個很具體的版本:某個人寫了一段巨集來重排週報,然後離職了。報表跟著壞掉,下一個人打開檔案,看到的是一堵沒有任何註解的 VBA 牆,不是從零重建,就是繼續用那個已經壞掉的流程。正是這個交接問題,讓可維護的自動化比聰明的巨集更重要;而無程式碼的做法,從設計上就不會製造出這個問題。
不靠 VBA 的 5 種自動化做法
- Power Query:Excel 內建的資料工具,不用寫程式就能抽取、清理、重塑表格。當工作是「匯入後轉換」時它就是正解,例如合併檔案、篩選列、取消樞紐分析欄;而且查詢會被存下來,來源資料一變,同一套清理就會自動重跑。
- Power Automate:Microsoft 的雲端工作流程工具,進階版大約 $15/使用者/月。它能把 Excel 接到其他應用程式上,也能排程執行流程,但需要自己建流程、還得有一個 Microsoft 365 租用戶,所以比較適合團隊,不太適合單打獨鬥的人;各版本價格列在 Power Automate 定價 那一頁。
- Office Scripts:以 TypeScript 為基礎的自動化,適用於網頁版 Excel 和 Microsoft 365 桌面版。你錄下一段操作,再像改程式碼那樣去編輯它;它正好落在 Power Query 和 VBA 中間:比前者更強,又不像後者那樣算得上一門語言,而且需要 Microsoft 365 訂閱。
- AI 活頁簿 Agent:活頁簿 Agent 是什麼,用白話把任務講清楚,Agent 就會在你的檔案裡跑那些步驟,並顯示它改了哪裡。不用寫程式碼,也不必貼巨集;Agent 負責做、逐步留下記錄,你負責核對結果。自動化最接近「講一句就好」的形態,就是這個。
- 以公式為基礎的自動化:表格、XLOOKUP 和動態陣列,資料一變它們就跟著反應。這是所有方法裡最輕的一種,不用額外的工具、不用訂閱,只用 Excel 本來就有的公式引擎;在加上任何一層自動化之前,這裡就是最好的起點。
這五種不是互相競爭的對手,而是可以疊起來用的。公式打好底,處理簡單的情況;Power Query 負責整理資料;活頁簿 Agent 接著處理那些得在檔案裡真的動手的活。真正要決定的,不是「哪一種最好」,而是「哪一塊工作要先自動化」。
會寫 VBA 的 AI vs. 真的把事做完的 AI
| 做法 | 你實際拿到什麼 | 可見性 |
|---|---|---|
| AI 程式碼產生器 | 一段讓你貼上的巨集或公式 | 低:執行和除錯都得自己來 |
| AI 活頁簿 Agent | 改動直接在你的活頁簿裡生效 | 高:動手前先看計畫步驟,完成後看結果 |
| 手寫 VBA | 對那段巨集有完全的掌控權 | 取決於後續由誰維護 |
AI 程式碼產生器丟一段巨集給你去貼;活頁簿 Agent 則直接把改動跑在你的工作表裡。這就是把「執行 vs 建議」那條線放到自動化上的樣子:一個丟文字給你、要你自己去做,另一個把活做完了再跟你報告。
可見性這一欄,是大多數比較都會跳過的部分。貼上去的巨集在執行之前就是一個黑箱;一旦它壞了,你偵錯的是一段自己根本沒寫過的程式碼。反觀執行前先把計畫步驟攤出來的 Agent,讓自動化變得可以審計:你會先看到什麼將要改變,改完之後又看到什麼已經改變。
第三列也該誠實以對:手寫 VBA 沒有死。碰上複雜、要長期用下去、而且有老手在維護的自動化,它依然有一席之地。真正不一樣的是,現在面對「把這個自動化一下」,預設答案不再是「去學 VBA」,而是上面五種方法裡最適合那件工作的那一種。
可見性這條軸線,也決定了誰有辦法信任這套自動化。在團隊或審計的情境裡,一次能攤出計畫步驟、並回報改了什麼的執行,是主管可以簽字核可的;而從產生器貼過來的巨集,在有人驗證之前都只是個猜測。這就是為什麼執行型工具贏下的是「信任」這一場,不只是「方便」那一場。
一個從頭走一遍的實例
- 用白話描述任務:「把這份客戶名單清理一下:去掉多餘的空格、修正姓名的英文大小寫、刪掉重複的列。」
- Mica 先把步驟規劃好,執行前攤給你看:去空白、統一大小寫、去除重複,並回報刪掉了幾列。
- 批准這份計畫,看著它在活頁簿裡執行:檔案就在你自己的電腦上一步一步改變,全程看不到任何程式碼。
- 核對結果。同樣這件工作,不是得寫一段 VBA 巨集,就是得手動點十幾下;Agent 一次批准的執行就做完了。
Mica 如何把每一步攤開來:每個動作在執行前後都有記錄,所以這套自動化是可以審計的,而不是一個黑箱。
Mica 怎麼開始用:從安裝到第一個任務的完整走查,給還沒裝好的人。
#1004 這個錯誤:貼上去的巨集程式碼出錯時會發生什麼事,以及「補丁的螺旋」是從哪裡開始的。
VBA 參考手冊:官方文件,留給那些真的需要讀或寫巨集的時候。
「核對」這一步,是大多數自動化指南都會跳過的,但它很要緊:因為 Mica 把每個動作的前後都記錄下來,你可以核對刪掉了幾列、發現哪一欄本來不該動,然後用修正過的指示重跑一次。這個循環在設計上就是人機協作:機器負責做,決定權在你手上。
這個實例不只能用來清理資料。同一套「描述、規劃、批准、執行」的形狀,也能處理合併、對帳和報表重建,因為就算任務換了,循環還是同一個。等這個模式熟了,新的自動化無非就是一條新的指示,加上一次快速的核對;去掉程式碼這一層,價值全在這裡。
常見問題
不靠 VBA 自動化 Excel,安全嗎?
一般常見的情況沒問題:Power Query 和公式都在 Excel 內部運作,本機的活頁簿 Agent 在你自己的電腦上執行,而且動手前會先把步驟攤給你看。真正會跳出安全警告的,是 VBA 檔案。
自動化之後,我的流程會觸發安全警告嗎?
只有以巨集為基礎的檔案才會。這五種無程式碼做法(Power Query、Power Automate、Office Scripts、Agent 和公式)都不會跳出信任中心的提示。
這些方法分別要安裝什麼?
Power Query 和公式是 Excel 內建的;Office Scripts 得搭配 Microsoft 365;Power Automate 要有 Microsoft 365 租戶;本機的活頁簿 Agent 則需要安裝它的 Windows 桌面應用程式。
