Notifications
Clear all

Segunda atualização Excel demorando muito

4 Posts
2 Usuários
0 Reactions
1,524 Visualizações
(@nepow)
Posts: 14
Active Member
Topic starter
 

Tenho vários arquivos em excel, diferentes, que acabam puxando várias bases (em formato de tabela) ou fazendo consultas de um Access específico que criei.

Em geral, mesmo consultas com 60 mil linhas (5 ou 6 colunas) são muito rápidas e atualizo minhas tabelas no excel sem estresse nenhum (botão direito na tabela e depois "Atualizar"). O grande problema é quando eu vou atualizar a mesma tabela pela segunda vez!

Sem exagero nenhum, acho que a segunda atualização demora umas 30x ou mais do que a primeira e, as vezes, dependendo da consulta, fica inviável fazer uma segunda atualização, tenho que fechar o excel, abrir novamente e atualizar, já que só a primeira vez é rápida.

Posso tentar anexar algum exemplo aqui mas não sei se ajudaria muito já que não tenho como mandar o access que uso (tem mais de 500mb).

Algumas tabelas do excel puxam de diferentes formas (as vezes pelo código SQL de uma consulta, as vezes de uma consulta/tabela já salvas no Access, mas o resultado é o mesmo)

Estou questionando isso aqui pq, pelo meu raciocínio, isso tem muita cara de bug já que a base/consulta/arquivos são os mesmos, apenas o tempo da segunda atualização que é absurdo!

desde já agradeço a atenção de todos,
Abs

 
Postado : 27/04/2018 8:22 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

nepow,

Bom dia!

Já testou fazer essas atualizações em outros computadores maios robustos? Pergunto isso pelo fato de que pode ser problema de memória da máquina aonde você está executando a atualização. No hora que você carrega para a memória a primeira vez, ainda não havia nada registrado na memória do micro e assim a execução é mais rápida. Na segunda execução, a memória já tem, muita coisa, inclusive os dados da primeira atualização.

Não sei se é exatamente isso. É apenas uma suposição mas... tente.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 27/04/2018 8:36 am
(@nepow)
Posts: 14
Active Member
Topic starter
 

Oi, Wagner.

Amigo, já sim! Na verdade o meu computador é bastante razoável (i5, 8gb de ram) e nos computadores dos meus colegas, que são um pouco inferiores, tanto a primeira quanto a segunda atualização acabam demorando um pouco mais. Com o detalhe de que a segunda atualização no PC deles demora ainda mais do que no meu.

 
Postado : 27/04/2018 8:40 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

nepow,

Entendo...

Você pode adotar alguns procedimentos que podem ajudar na descoberta do problema, uma vez que a ajuda à distância fica complexa em razão de que não é possível disponibilizar arquivos grandes e se você colocar apenas pequenos exemplos dos arquivos, pode não ocorrer o problema.

Insira,no início e no fim do código que faz as atualizações, variáveis do tipo Date que possam armazenar a hora atual. Use a função Time para isso. Crie uma variável do tipo Date também para que ela armazena a diferença entre a hora final e a hora inicial do processamento. Exiba esse resultado na barra de status da sua aplicação. Use também o Break Point no depurador e execute conjuntos de comandos para verificar se o VBA está demorando mais em um trecho do que em outro. Com o tempo de processamento calculado e exibido você vai poder saber com precisão quanto está demorando numa primeira execução e também numa segunda.

Seria um código mais ou menos como esse:

Sub TempoGasto()
    Dim HoraInicial As Date
    Dim HoraFinal As Date
    Dim TempoDeProcessamento As Date
    Dim i As Double
    
    HoraInicial = Time
    'Inicio do seu código
    
     'Aqui está todo o seu código de atualização
     
    'Fim do seu código
    HoraFinal = Time
    TempoDeProcessamento = HoraFinal - HoraInicial
    Application.StatusBar = Format(TempoDeProcessamento, "hh:mm:ss")
End Sub

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 27/04/2018 11:45 am