Я понимаю, что ваш код VBA застревает, когда на странице отображается предупреждающее сообщение.
Я пытался найти решение или обходной путь, но не получил никаких рабочих примеров.
I обнаружил в одном старом потоке, что пользователю нужно создать экземпляр IE из другой книги, найти окно msg и закрыть его. Я лично считаю, что это не практическое решение. Кроме этого, я не получил никакого решения для VBA.
В ходе дальнейшего поиска я обнаружил, что если вы можете использовать веб-драйвер Selenium для автоматизации браузера IE, то есть решение этой проблемы. .
Чтобы нажать кнопку «ОК» оповещения с помощью Selenium:
driver.switchTo().alert().accept();
Нажать на кнопку «Отмена» оповещения использование Selenium:
driver.switchTo().alert().dismiss();
Ссылка:
Обработка предупреждений и всплывающих окон в Selenium WebDriver
Так что вы можете подумать об этом подходе в качестве альтернативы для вашего подхода VBA.