关于错误处理运行时错误不起作用

问题描述

| 我不确定为什么<0>无法处理以下错误。 我在单元格ѭ1中设置了一个网络查询,我选择并更改了URL,然后尝试将表格拉入工作表。 我使用不同的URL进行20-30次。 有时,数据提取花费的时间太长,或者发生其他不允许excel获取数据的事情... 在这些情况下,我要处理错误并继续。 但是我仍然收到运行时错误\'1004 \',并且调试显示
.Refresh BackgroundQuery:=False
。 但是,On Error难道不应该抓住它并转到表中的第3行吗? 我可以通过将IP更改为目标以外的名称调用此问题。
On Error GoTo CardDataPullError

    NodeIP = \"192.168.210.4\"

    Range(\"T10\").Select
    With Selection.QueryTable
        .Connection = \"URL;http://\" & NodeIP & \":21495/\" & Card & \"/ispCktDBPage\" 
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = \"3\"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebdisableDateRecognition = False
        .WebdisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With

On Error GoTo 0

\'below is another section of code that highlights the cell red 
\'showing it had a problem pulling the data

GoTo SkipCard \' To skip error handler

CardDataPullError:
X = X
Cells(CardRow,CardCol).Interior.ColorIndex = 3 \' Red

SkipCard:
\'other reasons to skip to
    

解决方法

您忘记将
resume
放入
CardDataPullError
错误处理程序中。 因此,不会处理该错误。 更改代码,如下所示:
CardDataPullError:
  X = X
  Cells(CardRow,CardCol).Interior.ColorIndex = 3 \' Red
  Resume SkipCard: