Perhaps not the most elegant solution but it's already late:
<strong>Please TEST this FIRST in a COPY of your workbook (always make a backup copy before trying new code, you never know what you might lose).</strong>
1. Copy the below code, by highlighting the code and pressing the keys <strong><span style="color:#FF0000;">CTRL</span></strong> + <strong><span style="color:#FF0000;">C</span></strong>
2. Open your workbook
3. Press the keys <strong><span style="color:#FF0000;">ALT</span></strong> + <strong><span style="color:#FF0000;">F11</span></strong> to open the Visual Basic Editor
4. Press the keys <strong><span style="color:#FF0000;">ALT</span></strong> + <strong><span style="color:#FF0000;">I</span></strong> to activate the Insert menu
5. Press <strong><span style="color:#FF0000;">M</span></strong> to insert a Standard Module
6. Where the cursor is flashing, paste the code by pressing the keys <strong><span style="color:#FF0000;">CTRL</span></strong> + <strong><span style="color:#FF0000;">V</span></strong>
7. Press the keys <strong><span style="color:#FF0000;">ALT</span></strong> + <strong><span style="color:#FF0000;">Q</span></strong> to exit the Editor, and return to Excel and make sure you are in an empty worksheet
8. To run the macro, press <strong><span style="color:#FF0000;">ALT</span></strong> + <strong><span style="color:#FF0000;">F8</span></strong> to display the Run Macro Dialog. Double Click the macro's name to Run it.
Code:
Sub Get_That_Data()
'*****************************************************
'Create a reference to:
'Microsoft HTML Object Library
'In Excel press: Alt+F11 | Tools | References
'*****************************************************
Dim objHTML As HTMLDocument
Dim strHTML As String
Dim objItem, tr, td, objRow As Object
Dim r, c, x As Integer
'Counter for the row
r = 1
'We are cycling through 7 pages
For x = 1 To 7
With CreateObject("msxml2.xmlhttp")
.Open "GET", "https://www.transfermarkt.com/fc-arsenal/topTorschuetzen/verein/11/ajax/yw1/page/" & x & "", False
.send
strHTML = .responseText
End With
Set objHTML = New HTMLDocument
objHTML.body.innerHTML = strHTML
Set tr = objHTML.getElementsByTagName("tr")
For Each objRow In tr
'We only need to check the table rows with "odd" and "even"
If objRow.className = "odd" Or objRow.className = "even" Then
Set td = objRow.getElementsByTagName("td")
c = 1
For Each objItem In td
Cells(r, c).Value = objItem.innerText
c = c + 1
Next
r = r + 1
End If
Next
Next
End Sub
Pay special attention to the comment in the macro:
'***************************************************************
'Create a reference to:
'Microsoft HTML Object Library
'In Excel go to the Visual Basic Editor by pressing: Alt+F11 | Tools | References
'***************************************************************