non riesco a capire perchè questo codice continua a generare errore (5-Chiamata di routine o argomento non validi) nella riga evidenziata dopo un pò che lavora.
oltrettutto riprendendo l'estrapolazione dal punto in cui si è interrotto riprende a lavorare per un pò fino a rigenerare sempre lo stesso errore.

suggerimenti?

codice:
Dim oHttp As Object
    Dim txtRequestString As String
    Dim Posizione As String
    Dim Posizione1 As String
    Dim Codice As String
    Dim Codice1 As Long
    Dim MyComplesso As String, MyTipologia As String, MyScala As String, MyPiano As String, MyInterno As String, MyCodUnita As String, MyMQ As String
    Dim sql As String, MioCodice As String
    Dim rst As Recordset
    Dim MyProva As String
    Dim DBCorrente As DAO.Database
    Dim Tabella As DAO.Recordset
    Set DBCorrente = CurrentDb
    Set Tabella = DBCorrente.OpenRecordset("patrimonio", dbOpenDynaset)
    
      Codice = 16062
      Codice1 = 16062
      Forms!DownLoadHTML_TEXT!Testo7 = Now
      Forms!DownLoadHTML_TEXT!txtHTML = Null
      Set oHttp = CreateObject("MSXML2.XMLHTTP")
      MsgBox " sto scaricando"
Prendo_Dati:
    For ZONA_MILANO = 1 To 9
           
    Codice = Codice + 100000000
    Forms!DownLoadHTML_TEXT!Testo5 = Codice1
    Forms!DownLoadHTML_TEXT!Testo10 = DCount(" [codice]", "patrimonio")
    Forms!DownLoadHTML_TEXT!Testo11 = Codice
    Forms!DownLoadHTML_TEXT.Repaint
    
    
    oHttp.Open "GET", "http:[mio_indirizzo].aspx?ID=" & Codice, False
    oHttp.send
    
    
    'CODICE UNITA' IMMOBILIARE
    MyCodUnita = 0
    Posizione = InStr(1, oHttp.responseText, "lblcod")
    Posizione1 = InStr(Posizione + 138, oHttp.responseText, "</span>")
    On Error GoTo ERRORE_CODICE_UNITA
    MyCodUnita = Mid$(oHttp.responseText, Posizione + 138, (Posizione1 - 0) - (Posizione + 138))
    On Error GoTo 0
 
    If MyCodUnita Like "ize*" Then
    
        GoTo CHIUDI_ZONA_MILANO
    End If	
	'////RITROVO I DATI CHE MI SERVONO\\\\
    'VIA
    Posizione = InStr(1, oHttp.responseText, "lblcomplesso")
    Posizione1 = InStr(Posizione + 143, oHttp.responseText, "</span>")
    MyComplesso = Mid$(oHttp.responseText, Posizione + 143, (Posizione1 - 0) - (Posizione + 143)) '(Posizione1 - 2) - (Posizione + 17))
   
    'TIPOLOGIA UNITA' IMMOBILIARE
    Posizione = InStr(1, oHttp.responseText, "lbltipounita")
    Posizione1 = InStr(Posizione + 144, oHttp.responseText, "</span>")
    MyTipologia = Mid$(oHttp.responseText, Posizione + 144, (Posizione1 - 0) - (Posizione + 144))
    
    'SCALA
    Posizione = InStr(1, oHttp.responseText, "lblscala")
    Posizione1 = InStr(Posizione + 140, oHttp.responseText, "</span>")
    MyScala = Mid$(oHttp.responseText, Posizione + 140, (Posizione1 - 0) - (Posizione + 140))
    
    'PIANO
    Posizione = InStr(1, oHttp.responseText, "lbllivellopiano")
    Posizione1 = InStr(Posizione + 147, oHttp.responseText, "</span>")
    MyPiano = Mid$(oHttp.responseText, Posizione + 147, (Posizione1 - 0) - (Posizione + 147))
    
    'INTERNO
    Posizione = InStr(1, oHttp.responseText, "lblinterno")
    Posizione1 = InStr(Posizione + 142, oHttp.responseText, "</span>")
    MyInterno = Mid$(oHttp.responseText, Posizione + 142, (Posizione1 - 0) - (Posizione + 142))
    
    'MQ
    Posizione = InStr(1, oHttp.responseText, "Superficie Netta in mq</td><td width='30%'")
    Posizione1 = InStr(Posizione + 43, oHttp.responseText, "</td>")
    MyMQ = Mid$(oHttp.responseText, Posizione + 43, (Posizione1 - 0) - (Posizione + 43))
    If MyMQ Like "nto*" Then MyMQ = "0"
    
	'////INSERISCO I DATI IN TABELLA\\\\
    On Error Resume Next 'non mi serve verificare l'errore, se dove succedere vai avanti
    Tabella.AddNew
    Tabella.Fields("indice") = Codice
    Tabella.Fields("codice") = MyCodUnita
    Tabella.Fields("via") = MyComplesso
    Tabella.Fields("tipologia") = MyTipologia
    Tabella.Fields("scala") = MyScala
    Tabella.Fields("piano") = MyPiano
    Tabella.Fields("interno") = MyInterno
    Tabella.Fields("mq") = MyMQ
        Tabella.Update
    On Error GoTo 0 'chiudo gestione errori
	
	'////VISUALIZZO I DATI CHE HO SALVATO IN TABELLA (SUPERFLUO MA MI PIACE)
    MyProva = "=================" & Chr(13) & Chr(10) & Codice & Chr(13) & Chr(10) & MyCodUnita & Chr(13) & Chr(10) & MyComplesso & Chr(13) & Chr(10) & MyTipologia & Chr(13) & Chr(10) & MyScala & Chr(13) & Chr(10) & MyPiano & Chr(13) & Chr(10) & MyInterno & Chr(13) & Chr(10) & MyMQ
    Forms!DownLoadHTML_TEXT!txtHTML = MyProva
    
CHIUDI_ZONA_MILANO:
    Next ZONA_MILANO
	
AUMENTA_INDICI:
    Codice = Codice - 900000000 + 1
    Codice1 = Codice1 + 1
    GoTo Prendo_Dati
Exit Function

ERRORE_CODICE_UNITA:
    MyCodUnita = 0
    Forms!DownLoadHTML_TEXT!Testo19 = Forms!DownLoadHTML_TEXT!Testo19 + 1
    Forms!DownLoadHTML_TEXT!Testo21 = Err.Number & "-" & Err.Description
     On Error GoTo 0
	 RESUME NEXT
    GoTo CHIUDI_ZONA_MILANO