Resuelto:
Tras seguir buscando, por si le sirve:
Código vb:
Ver originalIf Range("F2") = "" Then
With ActiveSheet.QueryTables.Add(Connection:=strConn, Destination:=Range("A1"), Sql:=sqlString)
.Refresh BackgroundQuery:=False
End With
Else
ActiveSheet.Select
ActiveSheet.Cells.ClearContents
With ActiveSheet.QueryTables.Add(Connection:=strConn, Destination:=Range("A1"), Sql:=sqlString)
.Refresh BackgroundQuery:=False
End With
End If
' Loop mientras se completa la carga
Do While ActiveSheet.QueryTables(1).Refreshing = True
Loop