Итак, вам нужно понять DOM, чтобы понять, почему он загружает не все.
XMLHTTP будет загружать этот ресурс, который вы запрашивали. Многие веб-страницы, извините, почти все веб-страницы, загружают дополнительные ресурсы после выполнения первоначального запроса.
Если вам что-то не хватает, вероятно, он загружен по другому сетевому запросу. Итак, откройте свои DevTools в Chrome, убедитесь, что вкладка «Сеть» записывается, и посмотрите, сколько сетевых запросов go входит и отправляется, когда вы загружаете свою целевую страницу.
По сути, это, если вы используете XMLHTTP, вам нужно будет смоделировать каждый из них, чтобы получить запросы, которые вы хотите очистить.
EDIT
Итак, вы просто вставляете ответ данных в Excel.
Лучше создать переменную HTMLDocument, а затем установить ответ от XMLHTTP как ответ, как здесь: https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms762275 (v = vs.85)
set xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlhttp.open("GET", "http://localhost/books.xml", false);
xmlhttp.send();
Debug.print(xmlhttp.responseText);
Dim xString as String
xSring = xmlhttp.responseText
'search the xString variable
Затем вы можете разделить этот ответ для листа или выполнить поиск в нем и извлечь значения в памяти VBA, а не печатать на лист.
Вы также можете установить xString responseText как внутренний HTML для новая переменная HTMLDocument
Dim xHTML as HTMLDocument
Set xHTML.innertext = xString