Excel巨集抓取網頁資料出錯了!進入VBA簡單修改,開始成為程式設計師




Excel有專門抓取網頁資料的指令,可以錄製巨集快速執行,但實際操作會跳出錯誤,其實只要進入Excel的VBA環境簡單修改即可,這是開始VBA程式設計的第一步。

上一節嘗試錄製巨集,執行時會提示錯誤而中斷,其實這並非結束,反而是一個開始,因為錄製巨集在這裡只是輔助工具,用意在於瞭解Excel命令相對應的程式碼,想操作Excel達到淋漓盡致的地步,仍然必須直接編寫VBA,這一節便正式開始介紹如何編寫VBA:

一、上一節錯誤提示視窗中,按下「說明」,即會超連結到「無效的程式呼叫或引數(錯誤5)」,這裡文字其實不容易對應到上一節巨集,但初步看來,就是程式裡面的參數設定有問題。

Excel巨集抓取網頁資料出錯了!進入VBA簡單修改,開始成為程式設計師 VBA網路爬蟲 第1張

二、巨集使用的是「QueryTables」這個命令,方法是「Add」,標黃色程式碼是其中參數之一:「CommandType=0」,所以在微軟Excel支援中找到「QueryTable.CommandType屬性」,看起來都跟網頁資料無關。

Excel巨集抓取網頁資料出錯了!進入VBA簡單修改,開始成為程式設計師 VBA網路爬蟲 第2張

三、再參考「QueryTables.Add」的說明,可見得「CommandType」並非必要的參數。

Excel巨集抓取網頁資料出錯了!進入VBA簡單修改,開始成為程式設計師 VBA網路爬蟲 第3張

四、於是解決方式很直接,要開始編輯VBA了,到上方命令列拉下「檢視」菜單,移到「工具列」將「編輯」勾選。

Excel巨集抓取網頁資料出錯了!進入VBA簡單修改,開始成為程式設計師 VBA網路爬蟲 第4張

五、先選取「CommandType=0」那一行程式碼的範圍,執行「編輯」工具箱裡的「使程式行變為註解」,VBA會將那一行程式碼前加個單引號,效果是把程式碼轉換成單純文字,不再是VBA程式,當然就不會是VBA執行中斷的錯誤碼。

Excel巨集抓取網頁資料出錯了!進入VBA簡單修改,開始成為程式設計師 VBA網路爬蟲 第5張

六、滑鼠移到上方功能區「開發人員」頁籤,「程式碼」區塊,點選「巨集」,在跳出來的視窗「執行」「DownloadWeb」。

Excel巨集抓取網頁資料出錯了!進入VBA簡單修改,開始成為程式設計師 VBA網路爬蟲 第6張

七、成功以VBA程式碼的方式下載網頁資料。

Excel巨集抓取網頁資料出錯了!進入VBA簡單修改,開始成為程式設計師 VBA網路爬蟲 第7張

從這一節範例來看,只是把巨集程式碼其中一行取消,原本無法執行的巨集,已經是可以執行的VBA代碼了。過程中有稍微瞭解相關程式說明,最後雖然達成效果,對於理論知識其實仍然懵慒懂懂。VBA是一門可深可淺的學問,這本書著重於實務上應用,以操作流程為主,像在這裡VBA本身有偵錯功能,只要能排除錯誤,順利往下執行,理論部份還是等到有需要再作研究。

本文內容取自《人人做得到的網路資料整理術》,最好學習方法仍然是書本,今天就買本書吧!

金石堂網路書店網址:https://www.kingstone.com.tw/basic/2014941521928


商業數據的決策力和說服力,最終必須以一張圖表呈現

這堂課將以一天時間,教你如何用Excel畫出簡報中那張關鍵圖表

現在就報名參加,開始將資料視覺化、分析圖表化,完成30秒電梯任務!


《商業數據分析,30秒圖像表達、簡報溝通,職場必學的Excel圖表課程》



贊贊小屋現場教學:


2020.03.14(六) 高雄場
《高效率完成工作!一天時間,學會職場上快人一步的Excel資料整理術》

2020.03.15(日) 台中場
《高效率完成工作!一天時間,學會職場上快人一步的Excel資料整理術》

2020.03.21(六) 台南場
《高效率完成工作!一天時間,學會職場上快人一步的Excel資料整理術》

2020.03.22(日) 台北場
《商業數據分析,30秒圖像表達、簡報溝通,職場必學的Excel圖表課程 》

2020.03.28(六)-29(日) 台北場
《會計人的Excel小教室:高效率工作心法!》