Ciao oscarcasin, benvenuto nel forum.
Vedo che hai XL2010, quindi dovresti poter usare l' evento AfterRefresh della web query, come suggerito all' utente AntonioPatella qui:
viewtopic.php?t=98829#p568768Ovviamente la macro da scatenare dopo l' evento e' specifica per il problema posto da te, quindi la Private Sub qt_AfterRefresh nella discussione linkata dovrebe essere sostituita da quest' altra versione:
- Codice: Seleziona tutto
Private Sub qt_AfterRefresh()
If Not Success Then Exit Sub
Dim qtAdr As String, I As Long, I2 As Long
'
qtAdr = "F5" '<<< La cella con l' intestazione "Diff"
'
Sheets("Foglio2").Range("A2:G200").ClearContents
I2 = 2
For I = 1 To 200
If Range(qtAdr).Offset(I, 0).Value = "" Then Exit For
If Range(qtAdr).Offset(I, 0).Value > 3 Then
Sheets("Foglio2").Cells(jj, 1).Resize(1, 6).Value = Cells(I, 1).Resize(1, 6).Value
End If
Next I
End Sub
Presuppone che la web query sia inserita su Foglio1 e mette i dati in colonna A:F da riga 5 in poi; su Foglio2 viene creata, da riga 2 in avanti, la tabella derivata da quella di Foglio1.
L' area Range("A2:G200") di Foglio2 VIENE AZZERATO senza nessun preavviso prima di inserire i dati che rispecchiano il criterio dato (usa Riga1 per inserirci le intestazioni).
Ho dei dubbi sul tipo di dati estratti dalla query, per qualsiasi debug servira' l' url da cui prelevi, soprattutto in caso di run time error 13.
Ciao, fai sapere.