Ho utilizzato questa procedura (guarda se va bene):
- Codice: Seleziona tutto
Public Sub ScaricaDatiEdgeForum()
Dim myURL As String
Dim driver As New EdgeDriver
Dim tabella As Object
Dim th As Object
Dim td As Object
Dim r As Long
Dim c As Integer
Dim myStart As String
myURL = InputBox("Inserire l'indirizzo della pagina web: ", "Indirizzo Sito Internet", "https://www.forebet.com/it/pronostici-svizzera/challenge-league/standing")
If myURL = "" Then Exit Sub
With driver
.Start "Edge", ""
.Get myURL
End With
myStart = Timer 'attesa addizionale
Do
DoEvents
If Timer > myStart + 5 Or Timer < myStart Then Exit Do
Loop
Application.Goto (Sheets(Sheets.Count).Range("A1")) '<<<< Foglio specifico
Cells.Clear
Set tabella = driver.FindElementByTag("TABLE")
For Each th In tabella.FindElementsByTag("TR")
r = r + 1: c = 1
For Each td In th.FindElementsByTag("TD")
If c >= 257 Then Exit For
Cells(r, c).Value = td.Text
c = c + 1
Next
Next
Sheets(Sheets.Count).Cells.Select
Selection.Style = "Normal"
ActiveCell.Select
End Sub
In realtà, se non forzassi l'uscita dal ciclo for con questa istruzione:
If c >= 257 Then Exit For
la colonna c raggiungerebbe il valore massimo e la macro darebbe un errore di runtime in
Cells(r, c).Value = td.Text
Dagli un'occhiata