https://www.borsaitaliana.it/borsa/obbl ... zata.html#
Vorrei evitare di usare Selenium perchè più lento, quindi ho copiato pari pari una macro che già funziona su B.Italiana con lo scopo di adattarla . Ma mi sono impantanato qui con errore di debug 091: " variabile oggetto o variabile del blocco with non impostata ????
Dove sbaglio ?
- Codice: Seleziona tutto
Sub Scarica_EURTLX() ' tutte
Dim html As HTMLDocument
Dim mytable As Object
Dim Tr As Object
Dim Td As Object
Dim r As Long
Dim c As Integer
Dim j As Integer
Dim Pag As Integer
Dim intest As Variant
Dim inizio As Double
Set html = New HTMLDocument
Cells.ClearContents
Dim sh1 As Worksheet
Set sh1 = Sheets("EURTLX")
sh1.Activate
Pag = 101 ' qui le pagine da estrarre
Application.ScreenUpdating = False
intest = Array("Isin", "Descrizione", "Ultimo", "Cedola", "Scadenza", "Acquisto", "Vendita")
Range("A1:G1") = intest
r = 2: c = 1
For j = 1 To Pag
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "https://www.borsaitaliana.it/borsa/obbligazioni/eurotlx/ricerca-avanzata.html#" & j, False
.send
html.body.innerHTML = .responseText
End With
Set mytable = html.querySelector("[class='m-table -firstlevel']")
[color=#FFFF00] For Each Tr In mytable.getElementsByTagName("tr") [/color]
For Each Td In Tr.getElementsByTagName("td")
If c = 1 Then
Cells(r, c) = Trim(Split(Td.innerText, Chr(10))(UBound(Split(Td.innerText, Chr(10)))))
Else
Cells(r, c) = Td.innerText
End If
c = c + 1
Next Td
r = Cells(Rows.Count, 1).End(xlUp).Row + 1: c = 1
Next Tr
DoEvents
r = Cells(Rows.Count, 1).End(xlUp).Row + 1
Next j
Application.ScreenUpdating = True
Cells(1, 8) = "Dati aggiornati al " & Now
End Sub