Есть лучший способ.
- Используйте xmlhttp, чтобы не открывать браузер
- Использование css-селекторов для более быстрого поиска
- Используйте селектор идентификатора для таблицы, а не имя класса, так как это оптимальный метод выбора
- Сокращение зацикливания путем создания nodeList с одним циклом
- Использование словаря для обеспечения сохранения только уникальных значений
VBA:
Option Explicit
Public Sub GetColourCodes()
Dim html As HTMLDocument, dict As Object, i As Long, colourCodes As Object
Set html = New HTMLDocument: Set dict = CreateObject("Scripting.Dictionary")
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "http://www.soccer-rating.com/France/", False
.send
html.body.innerHTML = StrConv(.responseBody, vbUnicode)
End With
Set colourCodes = html.querySelectorAll("#ltable td[bgcolor]")
For i = 0 To colourCodes.Length - 1
dict(colourCodes.item(i).bgColor) = vbNullString
Next
Stop '<=Delete me later
End Sub
Результаты: