Я не уверен, почему On Error goto
не обрабатывает следующую ошибку.
У меня есть веб-запрос, настроенный в ячейке T10
, который я выбираю и изменяю в URL и пытаюсь вставить таблицу в лист.
Я делаю это 20-30 раз с разными URL.
Иногда получение данных занимает слишком много времени или происходит что-то еще, что не позволяет Excel получить данные ...
В этих случаях я хочу обработать ошибку и продолжить.
Но я все еще получаю ошибку времени выполнения '1004', и отладочные сообщения .Refresh BackgroundQuery:=False
подсвечиваются.
Но не должен ли On Error захватить это и перейти к строке CardDataPullError
дальше внизу листа?
Я могу вызвать эту проблему, изменив 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