Accounting 板


LINE

VBA如何批次取得網頁資料 網誌圖文版: http://www.b88104069.com/archives/4366 如果你進入Excel顏色代碼表的連結( https://docs.microsoft.com/zh-tw/office/vba/api/Excel.ColorIndex)),會看到代 碼表。那張表本身便是VBA程式碼自動產生的,運用的是一般程式設計裡都有的「迴圈」 概念。在依照某個規則大量運行程式的場合,非常適合設計迴圈。這一節首先以顏色代碼 表為例,簡單介紹迴圈如何設置,接著再以這一章取得匯率的主題,運用迴圈批次取得一 整年12個月的歷史匯率。 一、圖片所示的程式碼說明如下:「Cells.Clear」先清除工作表。「For i = 1 To 14 Step 1」以變數「i」設置迴圈程式,從「1」開始到「14」,「Step 1」表示1、2、3數 列的順序,如果是「Step 2」便是2、4、6數列,這裡是為求範例完整加了個「Step 1」 ,其實這是系統預設值可以省略的。「Cells(1, i)」是儲存格對象,裡面的「1」代表第 幾列、「i」代表第幾欄,「Value」為儲存格值的屬性,「Interior.Colorindex」為儲 存格背景色彩的屬性。圖片綠色部份前面加「'」為註記文字,這是編寫程式的慣常用法 。 二、執行巨集「Colorindex」的結果如圖所示。 三、依照相同思惟,外面再加一層變數「j」迴圈,計算式作一些變化,編寫如圖所示的 程式,執行結果便是上一節最後一張顏色代碼圖。 四、接下來要將迴圈設計的概念,嵌入取得匯率資料的程式裡,以便一次取得數期的歷史 匯率。首先,整理先前的程式碼,取消InputBox,回到一開始直接寫入網址及位置的方式 ,最後加一個欄寛及水平置中的格式調整,避免每次下載完欄位變得很寛,很不方便,其 餘顏色及框線僅僅是美觀考量,暫不設置。 五、執行結果如圖所示,標黃色部份是第23行,也就是網頁一個月的匯率資料有22行,如 果要一次取得12個月的資料,等於是設置「step 22」的迴圈,讓第二個月的資料從第23 行開始,第三個月之後依序類推。 六、在上一步驟的基礎上,設計迴圈,編寫程式如圖所示。這裡用到的概念有變數計算、 迴圈設置、條件判斷、格式調整,除了條件判斷,其他概念在先前章節都有相關範例,條 件判斷在下一節再多加介紹。 七、執行「DownloadWeb」巨集,成功一次取得2015年12個月的美金歷史匯率,下載到 Excel工作表上,因資料量多,以20%比例呈現,Excel會自動加上外部資料的標題,從「 外部資料1」到「外部資料12」,包含中間空白總共有300行的歷史匯率明細。 從略縮圖來看,顯然在不同月份的資料表之間,留有許多行的空白,在格式也沒有多作設 定,必須下載完資料後再作整理。另外這個程式碼是固定的,例如我如果想要的是2016年 的美金資料、或者是2015年的歐元資料,只能再修改程式碼,凡此種種,都需要進一步設 計完善,這個會在往後章節繼續介紹。 延伸閱讀: VBA如何取得網頁資料時自動整理格式 http://www.b88104069.com/archives/4362 Excel如何取得台灣銀行匯率 http://www.b88104069.com/archives/4348 Excel如何建立財務報表檔案資料 http://www.b88104069.com/archives/4332 -- 周末,我們繼續Excel:=>21.心得=>5.其他=>3.office 會計人的Excel小教室: https://www.facebook.com/acctexcel --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.20.97.195
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Accounting/M.1549212078.A.C34.html
1F:推 Acario: 推 02/06 14:58
2F:推 latte0377: 推 02/08 17:16







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燈, 水草

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

TOP