Eu tive um problema semelhante ao baixar dados de um site, usando o método QueryTables.Add. As referências à planilha que continha os dados da consulta mudavam sempre que eu executava novamente a consulta. Alterei a abordagem para copiar e colar dados da planilha de consulta na outra planilha. No início, isso também não funcionou, pois os valores de alteraram as colunas com as consultas subsequentes. Para resolver isso, fiz o seguinte:
- Limpa a planilha de consulta antes de emitir a consulta.
- Reduziu a consulta para recuperar apenas dados essenciais, com uma redução de 20 vezes.
-
Usou o seguinte código para copiar / colar:
Sheets("Data").Cells(FromRow, FromCol).Copy
Destination:=Sheets("Port").Cells(ToRow, ToCol)
Isso parece funcionar. Consultas subseqüentes que preencheram a planilha "Dados" foram coladas corretamente na planilha "Dados". Eu suspeito que houve um problema de sincronização quando a consulta era grande, com referências na outra planilha sendo executada antes da consulta ser concluída.