Поскольку на странице очень много динамических c элементов, вы не можете считывать данные с этой страницы, используя MSXML2.XMLHTTP . Единственный способ - использовать IE или Selenium. Среда, которая может обрабатывать JavaScript.
. Вы можете самостоятельно просмотреть созданный документ HTML и открыть его:
Public Sub GetSomeData()
Const URL As String = "https://www.morningstar.co.uk/uk/screener/fund.aspx#?filtersSelectedValue=%7B%22analystRatingScale%22:%7B%22id%22:%225%22%7D,%22starRating%22:%7B%22id%22:%225%22%7D%7D&page=1&perPage=10&sortField=legalName&sortOrder=asc&universeId=FOCAN$$ALL"
Dim html As htmlDocument, hTable As HTMLTable, ws As Worksheet, headers()
Dim td As Object, tr As Object, r As Long, c As Long
headers = Array("Tick", "Fund", "1 Day", "1 Week", "1 Month", "3 Months", "6 Months")
Set ws = ThisWorkbook.Worksheets("Sheet1")
Set html = New htmlDocument
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", URL, False
.send
html.body.innerHTML = .responseText
End With
'-----
Open "E:\MorningStar.htm" For Output As #1 'Use your own path
Print #1, html.body.outerHTML
Close
'-----
End Sub