1
我是VBA的新手,並且在搞清楚如何從網站boxofficemojo.com提取數據時遇到了很多麻煩。我試圖提取2010-2015年的每週數據。所以我發現了一個代碼,它沿着相同的方向做了一些改變,並且改變了它以適應我的需求。這是如下從一個網站的多個頁面導入數據
Sub Movies()
Dim nextRow As Integer, i As Integer
Application.ScreenUpdating = False
Application.DisplayStatusBar = True
For i = 1 To 52
Application.StatusBar = "Processing Page " & i
nextRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row + 1
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.boxofficemojo.com/weekly/chart/?yr=2015&wk=&p=.htm" & i, _
Destination:=Range("A" & nextRow))
.Name = "weekly/chart/?yr=2015&wk=&p=.htm"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingAll
.WebTables = "5"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = True
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
ThisWorkbook.Save
Next i
Application.StatusBar = False
End Sub
但是不要扯數據數週1 - 52的2015年,它保持對2016年的最新一週數據拉,重複其52倍。我不知道這裏有什麼問題,任何幫助都會真的很感激。
謝謝你的努力。
如果您使用Excel 2010或更高版本,Power Query可能會更容易 – Slai