Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无需下载表时绕过运行时错误(Excel宏)_Excel_Vba - Fatal编程技术网

无需下载表时绕过运行时错误(Excel宏)

无需下载表时绕过运行时错误(Excel宏),excel,vba,Excel,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 lastRo

我试图从大量页面的表格中下载数据。(表查询)

我在页码上运行了一个索引-问题是有时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)

既然你没有在代码中发布实际的url,我就无法测试它,但是你不能在下面添加一个错误恢复来跳过错误吗?或者你需要能够真正地跟踪那些失败的吗?在这种情况下,您可以编写一个错误处理程序

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

当然有。请给我们看代码。对不起,我的意思是发表评论,而不是回答,也意识到我误读了你的问题。