Сценарий не является неисправным. Тем не менее, вы используете его без полного понимания, это, безусловно, хлопотно.
Когда вы делаете это Set Htmldoc = .document
, вы настраиваете документ IE для дальнейшего использования.
Когда вы делаете это, Htmldoc.querySelector(".standard_pagination span[onclick*='pagination_next']").Click
javascript входит в игру и обновляет содержимое страницы (т. Е. Документ).
Вы можете верить, что документ изменился, но он только обновляется. На самом деле навигации вообще не происходит.
Добавьте следующее и посмотрите, как страница / документ остается прежней, меняется только содержимое.
'/ Url before Next button click
Debug.Print "Before Click " & Htmldoc.Url
Htmldoc.querySelector(".standard_pagination span[onclick*='pagination_next']").Click
'/ Url after Next button click
Debug.Print "After Click " & Htmldoc.Url
Поскольку заданный документ остается неизменным, а обновленное содержимое имеет ту же структуру / DOM (именно так программируют в основном программисты, наиболее вероятно, что все страницы отображаются с использованием шаблона ), следовательно, ваш код отлично работает Нетто-нетто для вашего цикла do, ничего не изменилось.