Accounting 板


LINE

【Excel VBA網路爬蟲】整理好央行網址儲存格清單,InputBox方法取得金融資訊 網誌圖文版: https://www.b88104069.com/archives/4499 上一節介紹InputBox函數網路爬蟲,執行巨集時可能要開瀏覽器網頁複製網址,本節進一 步InputBox方法,先在Excel整理好網址表格清單,引用儲存格參照取得網頁資料。 一、央行金融指標: 希望一次取得中央銀行三個金融指標的資料,分別下載到三個工作表。 二、VBA工作表屬性: 進入VBA編輯環境,在左邊的專案視窗中,「Microsoft Excel物件」資料夾選擇「工作表 2(平均存款利率)」。如圖可以清楚看到,在VBA裡面工作表有兩個不同代號,例如在活頁 簿上的標籤名稱是「平均存款利率」、在VBA裡則是「工作表2」,而且參考上一個步驟的 擷圖,可以瞭解活頁簿上工作表次序,和實際Excel系統裡的名稱順序不一樣。以範例來 說,其實有個工作表1被刪除,然後是「工作表4(彙總)」移到最前面了。如此瞭解Excel 的工作表架構(程式語言的專業術語為物件模型),是進一步編寫VBA程式碼的基礎。 三、InputBox函數限制 首先如果沿續上一節的InputBox函數,會發現只要,將游標移到對話方塊外,馬上變成一 顆轉個不停的藍色小球,因為InputBox函數只能直接輸入文字,若是想直接引用儲存格參 照,必須改用InputBox方法。(VBA程式碼的基本結構之一:「物件.方法」,代表對某個 Excel物件執行某個指令方法)。 四、改用InputBox方法 修改VBA程式碼如圖所示,綠色部份是將上一節原來的代碼,以單引號轉換成單純文字( 非程式碼),藍底白字是主要更改的程式碼,由InputBox函數改為InputBox方法。「 WebAress1 = Application.InputBox("請選擇網頁網址所在儲存格", "匯入網址", Type:=8)」這是InputBox方法的標準結構,和InputBox函數比起來,多了一個「Type:=8 」,表示輸入類型為儲存格參照。「DesCell = Application.InputBox("請選擇資料開始 儲存格", "匯入目的", Type:=8).Address」這一行程式碼和上一行非常接近,只是最後 多加了一個「.Address」,關於這個有兩點說明: 第一點,如前所述,「物件.方法」是VBA程式碼的基本結構之一,相類似的是「物件.屬 性」,於此是將所輸入的儲存格作為物件,以「.Address」傳回其VBA語言形式的範圍參 照。 第二點,「WebAress1 = Application.InputBox」會將「WebAress1」設定為儲存格的值 ,也就是網址,「DesCell = Application.InputBox.Address」會將「DesCell」設定為 儲存格本身(儲存格物件),對比接著後面的「WebAress2 = "URL;" & WebAress1」、「 Destination:=Range(DesCell))」,應該較容易理解兩個之間的差異。 五、參照引用網址 於想要執行程式的工作表,例如先移到「平均存款利率」工作表,執行巨集,跳出「匯入 網址」對話方塊,選擇「彙總」工作表的「C2」儲存格,就是央行平均存款利率的網址, 在對話方塊立即出現「彙總!$C$2」。 六、匯入目的儲存格 接著出現「匯入目的」對話方塊,選擇「平均存款利率」工作表的「A1」儲存格,在對話 方塊立即出現「$A$1」。 七、網址清單取得網頁資料 成功匯入網頁內容,以相同方法取得三個工作表資料。 最後再補充提醒,由於這裡範例程式碼為「With ActiveSheet.QueryTables.Add」,「 ActiveSheet」意思是目前現用工作表,所以假設想將資料匯入「平均存款利率」工作表 ,必須在執行巨集之前,必須在「平均存款利率」工作表選取任何一個儲存格,如此現用 工作表便會是「平均存款利率」工作表。如果希望更巨集聰明一點,直接將資料匯入任何 指定的工作表,程式碼會稍為複雜一點,於此暫不介紹。 延伸閱讀: Excel VBA網路爬蟲,InputBox函數開啟對話方塊,輸入中央銀行網址取得利率 https://www.b88104069.com/archives/4485 Excel VBA巨集也能匯出匯入,輕鬆備份共享,完整說明VBA網路爬蟲程式 https://www.b88104069.com/archives/4467 Excel巨集抓取網頁資料出錯了!進入VBA簡單修改,開始成為程式設計師 https://www.b88104069.com/archives/4432 -- 周末,我們繼續Excel:=>21.心得=>5.其他=>3.office 會計人的Excel小教室: https://www.facebook.com/acctexcel --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.22.232.64 (中國)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Accounting/M.1589205693.A.98E.html







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP