VBA – обработка ошибок для несуществующего веб-ресурса (Yahoo Finance)

Мой макрос создает URL-адрес загрузки yahoo ticker для определенных компаний. Я генерирую 3 URL-адреса за каждый тикер, каждый из которых имеет другой сегмент дат для загрузки данных.

Проблема, которая у меня есть, заключается в том, что данные не существуют для некоторых дат, поэтому от Yahoo возвращается ошибка, которая приводит к сбою моего макроса.

Я попытался сделать следующее с помощью метки GOTO:

On Error GoTo error_handler Workbooks.Open Filename:=("http://chart.finance.yahoo.com/table.csv?s=FAN.L&a=2&b=04&c=2014&d=2&e=21&f=2014&g=d&ignore=.csv") 

однако это не сработает, это не GOTO на этикетке.

Любые идеи очень приветствуются.

Попробуй это:

 On Error Resume Next Workbooks.Open Filename:=("http://chart.finance.yahoo.com/table.csv?s=FAN.L&a=2&b=04&c=2014&d=2&e=21&f=2014&g=d&ignore=.csv") On Error GoTo error_handler 

При повторном повторном включении продолжит прокрутку вперед.

Загрузите файл с отдельной обработкой ошибок, а затем if-check

  If Dir(MyFileName) <> "" Then Workbooks.Open Filename:="C:\123.xls" Else MsgBox "Spreadsheet could not be found in C:\", vbCritical + vbOKOnly, "File not found" End If 

Вот пример обработки ошибок. Замените свой код на Debug.print 5/0 и он должен работать.

 Public Sub ErrorHandlingExample() On Error GoTo ErrorHandlingExample_Error Debug.Print 5 / 0 On Error GoTo 0 Debug.Print "No error" Exit Sub ErrorHandlingExample_Error: Debug.Print "Error was found - " & Err.Description End Sub 
Interesting Posts

Исключение при подклассе Excel 2010 в .NET.

Excel: ISEVEN и текст

excel VBA для создания папки под общим почтовым ящиком

Excel – числовое значение фильтра, использующее «End With»

У меня есть одна таблица Excel с 1251 строками и одна с 1800 строк. Как я могу найти 549 строк, которые не находятся в листе строк 1251?

используя функцию ранжирования excel, основанную на динамическом соседнем значении столбца

VB – подключение к локальному SQL-серверу и загрузка данных в таблицу из excel

Удалить строки после создания строк, содержащих определенные значения в подпрограмме в VBA?

Прочитайте данные с листа Excel и напишите на одном листе Excel

Попытка автоматического разделения данных в excel с помощью vba

Оператор IF переносит данные на другой лист, но только определенный диапазон

использование «пустого» в массиве ()

C # – оценка логических формул Excel

Userform1.Label1 Нужно иметь цикл для обновления 20 ярлыков.

Код VBA, который проходит через папку для поиска подпапок и файлов?

Давайте будем гением компьютера.