Excel 自動抓取網頁資料:利用 VBA 與 AI 自動更新 Excel 表格

要讓 Excel 自動抓取網頁資料,不必再每天手動開啟網站查詢、複製貼上——這次贊贊小屋透過 VBA 與 AI,直接讓 Excel 完成這件事。整個過程從提出需求、取得 VBA 程式碼,到在 Excel 中執行並儲存檔案,完整記錄了一次「提出需求 → AI 設計 VBA → Excel 自動抓取資料」的操作過程。

Excel 自動抓取網頁資料:利用 VBA 與 AI 自動更新 Excel 表格

一、Excel 自動抓取網頁資料:AI 如何協助建立 VBA 自動化流程

Excel 自動抓取網頁資料,其實建立在一個簡單觀念上:Excel 不只是輸入資料的工具,也能取得外部資料。網頁上像是匯率、股價、商品價格、政府公開資料這類會隨時間變動的資訊,往往需要定期更新,傳統做法是打開網站、查詢資料、複製、再貼到 Excel。這個流程看似簡單,卻很花時間,重複次數一多,也容易在轉貼過程中複製錯欄位或漏看數字。VBA 在這裡扮演的角色,就是把這種固定重複的人工流程,轉換成 Excel 可以自動執行的巨集

這次贊贊小屋要處理的不是單純介紹 VBA 語法,而是一個實際工作案例:從臺灣銀行匯率網站出發,請 AI 協助設計 VBA,由 Excel 執行巨集後自動把資料寫入工作表。這類需求在財務、會計等工作場景中很常見,工作內容經常需要查詢外幣匯率、更新 Excel 表格、再進行換算或分析,過去這些步驟得靠人工查詢完成,現在則可以讓 Excel 自動處理。這次贊贊小屋實際操作,就是從提出工作需求開始,請 AI 協助建立 VBA 程式,最後完成 Excel 自動取得匯率資料的完整流程。

Excel 自動抓取網頁資料:AI 如何協助建立 VBA 自動化流程重點整理

二、向 AI 清楚描述需求,取得 VBA 程式

贊贊小屋在 ChatGPT 對話框中輸入的提問是:「我常常要去取得臺灣銀行的匯率,網址如下,複製到 Excel 上面去。https://rate.bot.com.tw/xrt?Lang=zh-TW 希望可以直接把匯率寫入到目前的 EXCEL 工作表,幫我設計 VBA 程式。」ChatGPT 隨即回覆:「可以,而且我建議不要用『把整個網頁複製下來』的方式,而是讓 VBA 直接抓取臺灣銀行目前的牌告匯率表,再整理成 Excel 表格。」

這段提問之所以能讓 AI 準確理解需求,關鍵不是句子寫得多漂亮,而是同時包含了資料來源、工作目的與預期結果三個要素:網址所指向的 臺灣銀行牌告匯率查詢 頁面是資料來源,「複製到 Excel 上面」是工作目的,「直接寫入到目前的 EXCEL 工作表」則是預期結果。贊贊小屋提醒,向 AI 提問時不要只丟一句「幫我寫 VBA」,而要先說清楚自己要解決的是什麼工作問題,AI 才能設計出真正貼合需求的程式,而不是產生一段不知道用途何在的程式碼。

向 AI 清楚描述需求,取得 VBA 程式
向 AI 清楚描述需求,取得 VBA 程式重點整理

三、確認 AI 提供的 VBA 程式與使用環境

ChatGPT 接著提供「建議的 Excel 結果」,列出美金(USD)、港幣(HKD)、英鎊(GBP)、澳幣(AUD)四種幣別,欄位分別是現金買入、現金賣出、即期買入、即期賣出;緊接著出現「VBA 程式」區塊,並註明這一版是以 Excel 2016 為前提設計,程式碼區塊右上角則有一個複製按鈕可以直接取得完整程式碼。

AI 提供程式後,不代表贊贊小屋可以直接貼上就執行。這裡還需要先確認幾件事:自己使用的 Excel 版本是否與 AI 設計的版本相符、欄位格式是否符合實際需要、程式最後要放在哪個位置。這也是 AI 協助程式開發時很重要的一段流程——「AI 產生程式 → 使用者確認內容 → 實際測試執行」,直接跳過確認這一步,很容易在執行階段才發現版本或格式對不上。

確認 AI 提供的 VBA 程式與使用環境
確認 AI 提供的 VBA 程式與使用環境重點整理

四、開啟 VBA 編輯器並建立模組

贊贊小屋用 Alt + F11 開啟 VBA 編輯器,接著在編輯器上方的「插入」選單中選擇「模組」,畫面左側的「專案 – VBAProject」欄位可以看到兩個不同的 VBA 專案:「VBAProject (PERSONAL.XLSB)」——也就是 個人巨集活頁簿——底下已有 Module1、Module2,另外「VBAProject (活頁簿1)」則是目前這個活頁簿本身的專案,底下有 ThisWorkbook 與工作表 1。

贊贊小屋這次使用的 Excel VBA編輯器,本身就是所有 VBA 開發的起點:Excel 活頁簿裡的 VBA 程式,不是直接寫在工作表上,而是存放在 VBA 專案底下的模組裡。每一個 Excel 檔案都有屬於自己的 VBA 專案架構,這也是為什麼在插入模組之前,要先確認自己是在「哪一個活頁簿」的專案底下新增模組,而不是誤把程式加進 PERSONAL.XLSB 這種個人巨集活頁簿。

開啟 VBA 編輯器並建立模組
開啟 VBA 編輯器並建立模組重點整理

五、將 AI 程式碼貼入 VBA 模組

在新增的模組視窗中,贊贊小屋將 AI 提供的程式貼上,程式碼一開始就是「Sub 取得臺灣銀行匯率()」,畫面上可以看到右鍵選單中的「貼上(P)」選項,左側專案總管也同步出現剛剛新增的「模組」與「Module1」。

VBA 程式通常以「Sub 程式名稱()」作為開頭,一個模組底下可以存放多個 Sub,每一個工作流程通常會設計成一個獨立的 Sub。像這次的「Sub 取得臺灣銀行匯率()」,就代表一個可以單獨執行的自動化工作,之後若要新增其他抓取需求,也可以在同一個模組裡繼續加入新的 Sub;若想更完整掌握 VBA Sub用法 的基本語法,也可以進一步參考相關教學。

將 AI 程式碼貼入 VBA 模組
將 AI 程式碼貼入 VBA 模組重點整理

六、執行 VBA 並測試自動抓取結果

貼上程式後,贊贊小屋展開「執行」選單,可以看到「執行 Sub 或 UserForm F5」這個選項;畫面中程式碼裡的「Set ws = ActiveSheet」這一行被反白標示,代表游標目前所在的位置,也就是即將被執行的 Sub。

如果執行後出現錯誤,正確的做法不是自己反覆猜測程式哪裡有問題,而是回到 AI 對話視窗,把實際出現的錯誤訊息貼給 AI,請它協助修改,這也是 ChatGPT寫ExcelVBA 這類流程中最常見的除錯方式。AI 協助寫程式很少一次就完全成功,實際的開發流程通常是「產生程式 → 執行測試 → 發現問題 → 修改程式」這幾個步驟反覆進行,這其實也是一般程式開發的常態,不是 AI 協作獨有的現象。

執行 VBA 並測試自動抓取結果
執行 VBA 並測試自動抓取結果重點整理

七、查看 Excel 自動取得資料結果

按下 F5 執行成功後,Excel 跳出一個訊息框,內容顯示「臺灣銀行匯率取得完成!」,同時工作表的 A 到 D 欄已經出現「幣別」與「現金匯率」下的「本行買入」「本行賣出」欄位,美金、港幣、英鎊、澳幣的資料都已經寫入目前使用中的工作表。

這個結果代表 VBA 已經成功完成「網站 → 資料取得 → Excel 工作表」這一整段流程:贊贊小屋不需要再手動開網站、查匯率、複製貼上,程式會直接把資料寫進目前作用中的工作表,並用訊息框告知執行完成。這次示範雖然是匯率資料,但同樣的方法也可以套用在股價、商品價格等其他固定來源的網頁資料上,差別只在於目標網址與欄位設計不同。

查看 Excel 自動取得資料結果
查看 Excel 自動取得資料結果重點整理

八、儲存為啟用巨集的活頁簿格式

程式執行完成後,贊贊小屋在「檔案」選單中選擇「另存新檔」,再點選「瀏覽」,此時檔案類型下拉選單中除了「Excel 活頁簿(*.xlsx)」,還多了一個「Excel 啟用巨集的活頁簿(*.xlsm)」選項。

之所以要特別選擇 xlsm 格式,是因為 VBA 程式不是單獨存在的檔案,而是與 Excel 活頁簿一起儲存的,就像前面在 VBA 編輯器中看到的專案架構一樣,一個 Excel 檔案底下同時包含工作表與 VBA 模組。因此存檔時必須選擇 .xlsm 格式,才能把程式碼一併保留下來;如果直接存成一般的 .xlsx,Excel 會把裡面的 VBA 程式碼移除,之後打開檔案就再也找不到這支自動抓取匯率的程式了。若之後想把這個巨集檔案分享給同事使用,也可以參考 Excel巨集給別人用 這篇文章。

儲存為啟用巨集的活頁簿格式
儲存為啟用巨集的活頁簿格式重點整理

AI 降低 Excel 自動化的學習門檻

這次操作下來,贊贊小屋覺得最大的收穫並不是多寫出了一支 VBA 程式,而是整個自動化的門檻明顯降低了。以前要讓 Excel 自動抓取網頁資料,得先花時間學會 VBA 語法,才有辦法動手寫程式;現在只要先把工作需求說清楚,剩下的程式架構可以交給 AI 協助建立,使用者要做的是確認結果、測試執行、遇到問題時把錯誤訊息回饋給 AI。對贊贊小屋而言,這是一次實際的 AI程式設計 體驗,也讓贊贊小屋看到:原本需要具備程式背景才能做到的事,現在透過清楚的需求描述就有機會完成,Excel 也從單純的表格工具,逐漸變成能夠自動完成固定工作的資料工具。


學會計、學Excel、學習AI工具,歡迎加入贊贊小屋社群

Claude Code 教學:從安裝到 Excel、PPT 與網頁實戰

Claude Code 教學ChatGPT怎麼用?ChatGPT Excel教學ChatGPT寫ExcelVBAGemini是什麼?Notion教學AI對會計的影響

贊贊小屋AI課程:OpenClaw AI 代理Codex 網站Claude Code 實戰ChatGPT課程AI工具全攻略Notion課程

Claude Code 教學:從安裝到 Excel、PPT 與網頁實戰