我正在尝试自动将网站的多个页面中的数据提取到工作簿中。在一张标题为Events
的工作表上,我有3列,其中第三列(C列)是我希望从中提取数据的位置,格式为URL;http://frc-events.usfirst.org/2015/txsa/rankings
。我试图使用以下代码向下移动我的108行,获取所有数据:
Sub GetData()
For x = 1 To x = 108
ActiveWorkbook.Worksheets("Events").Select
ActiveWorkbook.Worksheets("Events").Activate
mystr = Cells(x, 3)
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = Cells(x, 2)
With ActiveSheet.QueryTables.Add(Connection:= _
mystr, Destination:=Range( _
"$A$1"))
.Name = "rankings"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Next x
End Sub
不幸的是,在运行它时,没有任何反应。我试图将它隔离,并通过将x设置为任何单个数字,它将工作并创建一个工作表。然而,当我尝试运行循环时,正如我所说,我没有得到结果。任何建议都将非常感激。
奖励问题:
我确信这不太可能太困难,但如果不是为每个新导入创建单独的工作表,我希望所有网页的数据都进入同一个工作表,我怎么可能那个? (所有数据都采用相同的格式,(也就是说,列数相同,但行数因页面而异。
答案 0 :(得分:3)
改变这个:
For x = 1 To x = 108
到此:
For x = 1 To 108