没有表下载时绕过运行时错误(Excel宏)

时间:2013-07-20 07:52:38

标签: excel excel-vba vba

我正在尝试从众多页面中的表中下载数据。 (表格查询)

我在页码上运行索引 - 问题有时候certin页面不存在,我收到一个运行时错误,说明它无法下载特定的表。

有没有办法检查是否有第一个数据而不是下载数据?

Dim i As Long
 Dim lastRow As Long 
For i = 120111 To 130000
 If (i Mod 100 = 11) Or (i Mod 100 = 21) Or (i Mod 100 = 31) Or (i Mod 100 = 41) Then 
lastRow = Cells.SpecialCells(xlCellTypeLastCell).Row + 1
 With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://...roundNum=" & i ,Destination:=Range("A" & lastRow)

1 个答案:

答案 0 :(得分:0)

由于你没有在代码中发布实际的url,我无法测试这个,但你不能只在那里添加一个On Error Resume Next来跳过错误吗?或者您是否需要能够实际跟踪那些失败的?在这种情况下,您可以编写错误处理程序。

Sub Download()
   Dim i As Long
   Dim lastRow As Long
   On Error Resume Next
   For i = 120111 To 130000
       If (i Mod 100 = 11) Or (i Mod 100 = 21) Or (i Mod 100 = 31) Or (i Mod 100 = 41)    Then
           lastRow = Cells.SpecialCells(xlCellTypeLastCell).Row + 1
           With ActiveSheet.QueryTables.Add(Connection:="..." & i, Destination:=Range("A" & lastRow))
       End If
   Next i
End Sub