Я новичок в 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 раза. Я не уверен, что здесь не так, и любая помощь будет действительно оценена по достоинству.
Спасибо за ваши усилия.