EXCEL VBA網路爬取大樂透歷史資料
如果想將網路上總共有 57頁網頁 資料複製到EXCEL工作表中,
如果用土法煉鋼是非常花時間的事,如果每天需要經常性抓取網路資料,
真的 非常必要用VBA程式來完成 ,
其實就是目前很夯的網路爬蟲,
和 Python 程式相比 ,VBA相對比較親民一些,
直接抓取到EXCEL相對的好處理後續的動作 ,
利用VBA程式,配合 For迴圈+If邏輯判斷一下 ,
基本上程式就可以快速一鍵完成資料下載。
接下來要產生報表作統計分析,或是視覺化圖表 就更簡單了。
以下有六個步驟如下,
1.錄製巨集與修改VBA程式
2.VBA寫刪除日期列
3.VBA寫複製日期
4.VBA寫刪除列
5.VBA寫增加中獎號碼
6.VBA寫剖析資料
完成畫面:
統計結果:
大樂特歷史資料 下載程式碼
**利用 資料的從WEB功能 下載資料,再利用 錄製巨集 產生基本VBA程式加以修改
1.資料的從WEB功能
程式碼:
Sub 大樂透下載()
With ActiveSheet . QueryTables . Add ( Connection := _
"URL;https://www.lotto-8.com/listltobigbbk.asp?indexpage=1&orderby=new" , _
Destination := Range ( "$A$1" ))
. WebFormatting = xlWebFormattingNone
. WebTables = "5"
. Refresh BackgroundQuery := False
End With
End Sub
Sub 批次大樂透下載()
For i = 1 To 57
'1.匯入WEB資料
If Range ( "A1" ) = "" Then
r = 1
Else
r = Range ( "A1" ). End ( xlDown ). Row + 1
End If
With ActiveSheet . QueryTables . Add ( Connection := _
"URL; https://www.lotto-8.com/listltobigbbk.asp?indexpage=" & i & " &orderby=new" _
, Destination := Range ( "$A$" & r ))
. WebFormatting = xlWebFormattingNone
. WebTables = "5"
. Refresh BackgroundQuery := False
End With
Next
End Sub
VBA程式碼
Sub 刪除日期列()
For i = Range ( "A1" ). End ( xlDown ). Row To 2 Step -1
If Cells ( i , "A" ) = "日期" Then
Rows ( i ). Delete
End If
Next
End Sub
Sub 複製日期()
For i = 2 To Range ( "A1" ). End ( xlDown ). Row
If ( i - 2 ) Mod 3 = 0 Then
Cells ( i , "A" ) = Cells ( i + 1 , "A")
Cells ( i , "A" ). NumberFormatLocal = "yyyy/m/d"
End If
Next
End Sub
Sub 刪除列()
For i = Range ( "A1" ). End ( xlDown ). Row To 4 Step -3
Rows ( i ). Delete
Rows ( i - 1 ). Delete
Next
End Sub
Sub 增加中獎號碼()
For j = 1 To 6
Cells ( 1 , j + 3 ) = j
Next
End Sub
Sub 剖析資料()
For i = 2 To Range ( "A1" ). End ( xlDown ). Row
Range ( "D" & i & ":I" & i ) = VBA . Split ( Cells ( i , "B" ), ",")
Next
End Sub
Sub 刪除B欄()
Columns ( "B" ). Delete
Columns . AutoFit
End Sub
Sub 大樂透下載()
Call 批次大樂透下載
Call 刪除日期列
Call 複製日期
Call 刪除列
Call 增加中獎號碼
Call 剖析資料
Call 刪除 B欄
End Sub
教學影音(完整版在論壇):
VIDEO
教學影音完整版在論壇:
https://groups.google.com/forum/#!forum/scu_excel_vba2_86
EXCEL VBA進階班的課程規劃
主要是延伸入門課,延伸資料庫、多工作表、工作簿、網路爬蟲、視覺化報表等應用並與Python程式協同應用
單元01_資料拆解相關(VBA)
單元02_輸入自動化與表單設計
單元03_用ADO匯入與匯出資料庫
單元04_大量工作表合併與分割
單元05_資料查詢(篩選與分割工作表)
單元06_下載網路資料(YAHOO股市)
單元07_活頁簿與檔案處理(工作表分割與合併活頁簿)
單元08_視覺化報表與快速匯入圖片
其他相關學習:
函數東吳進修推廣部, EXCEL, EXCEL VBA 函數 程式設計 線上教學 excel vba 教學 excel vba指令教學 vba範例教學excel excel vba教學視頻 函數教學 excel函數