Notifications
Clear all

Falha no comando ScreenUpdating?

12 Posts
3 Usuários
0 Reactions
1,604 Visualizações
(@clone83)
Posts: 12
Active Member
Topic starter
 

Bom dia.

Estou trabalhando numa macro para uma planilha do meu emprego e mesmo usando o comando "ScreenUpdating = false" continua dando load em determinado momento.

Seria possivel que este comando tenha alguma falha ou possa nao ser eficaz dependendo do codigo?

 
Postado : 02/05/2018 7:02 am
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

no seu código possui alguma condicional?

if . .. .

Poderia ver seu código?

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 02/05/2018 7:06 am
(@clone83)
Posts: 12
Active Member
Topic starter
 

no seu código possui alguma condicional?

if . .. .

Poderia ver seu código?

Arruda. Segue a parte na qual esta dando o load.

w.Select
Worksheets("AVC").Range("e2:e1048576").Copy Destination:=w2.Range("g2")

w.Select
Worksheets("AVC").Range("f2:f1048576").Copy Destination:=w2.Range("i2")

 
Postado : 02/05/2018 7:31 am
(@jnexcel)
Posts: 298
Reputable Member
 

olá, bom dia tudo bem com você?

tente diminuir o seu intervalo de células.

exemplo: coloque até f8756.

 
Postado : 02/05/2018 8:40 am
(@clone83)
Posts: 12
Active Member
Topic starter
 

olá, bom dia tudo bem com você?

tente diminuir o seu intervalo de células.

exemplo: coloque até f8756.

Boa tarde.

Mesmo reduzindo o numero de celulas, continua lento.

Demora uns 9 segundos pelo menos pra macro copiar o valor de uma aba para outra.

 
Postado : 02/05/2018 11:26 am
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

pode ser muitas coisas.

Uma delas por exemplo pode ser alguma formatação condicional conflitante na sua planilha.
Ou Formatações de células sem necessidade..

De qualquer forma, poste seu código completo, ou melhor ainda, poste sua planilha para nós mesmos tertarmos.

Todavia tente:

Sub Copiar()
Dim ul As Long
ul = Sheets("AVC").Range("E" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
w.Range("G2:G" & ul).Value = Sheets("AVC").Range("E2:E" & ul).Value
w.Range("I2:I" & ul).Value = Sheets("AVC").Range("F2:F" & ul).Value
Application.ScreenUpdating = True
End Sub

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 02/05/2018 1:07 pm
(@clone83)
Posts: 12
Active Member
Topic starter
 

pode ser muitas coisas.

Uma delas por exemplo pode ser alguma formatação condicional conflitante na sua planilha.
Ou Formatações de células sem necessidade..

De qualquer forma, poste seu código completo, ou melhor ainda, poste sua planilha para nós mesmos tertarmos.

Todavia tente:

Sub Copiar()
Dim ul As Long
ul = Sheets("AVC").Range("E" & Rows.Count).End(xlUp).Row
Application.ScreenUpdating = False
w.Range("G2:G" & ul).Value = Sheets("AVC").Range("E2:E" & ul).Value
w.Range("I2:I" & ul).Value = Sheets("AVC").Range("F2:F" & ul).Value
Application.ScreenUpdating = True
End Sub

Nao é possivel add a planilha mesmo zipada, devido ao tamanho do arquivo.

 
Postado : 02/05/2018 1:27 pm
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

Posta no GoogleDrive e compartilha o link...

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 02/05/2018 1:46 pm
(@clone83)
Posts: 12
Active Member
Topic starter
 

Posta no GoogleDrive e compartilha o link...

Segue o link.

https://drive.google.com/file/d/1L2DXqP ... sp=sharing

 
Postado : 03/05/2018 7:55 am
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

Amigo aqui funcionou perfeitamente.

Mas, o que exatamente seria "Load" para você?

Se com "Load" você quer dizer aquele "circulo" rodando enquanto a macro é executada, isso é normal.

O que o screenupdating = false faz é apenas desligar as atualizações de tela durante a macro. mas esse circulo não some mesmo. Ele ficará durante toda a execução da macro.

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 03/05/2018 8:03 am
(@clone83)
Posts: 12
Active Member
Topic starter
 

Amigo aqui funcionou perfeitamente.

Mas, o que exatamente seria "Load" para você?

Se com "Load" você quer dizer aquele "circulo" rodando enquanto a macro é executada, isso é normal.

O que o screenupdating = false faz é apenas desligar as atualizações de tela durante a macro. mas esse circulo não some mesmo. Ele ficará durante toda a execução da macro.

Isso mesmo.

A macro funciona normalmente, porem demora para ser executada. Tenho visto algumas macros serem executadas em bem menos tempo com o mesmo numero de dados e codigos ate maiores. Ai me faz pensar que meu codigo possa ter algo que atrase a execucao da macro.

 
Postado : 03/05/2018 8:56 am
(@clone83)
Posts: 12
Active Member
Topic starter
 

Amigo aqui funcionou perfeitamente.

Mas, o que exatamente seria "Load" para você?

Se com "Load" você quer dizer aquele "circulo" rodando enquanto a macro é executada, isso é normal.

O que o screenupdating = false faz é apenas desligar as atualizações de tela durante a macro. mas esse circulo não some mesmo. Ele ficará durante toda a execução da macro.

Isso mesmo.

A macro funciona normalmente, porem demora para ser executada. Tenho visto algumas macros serem executadas em bem menos tempo com o mesmo numero de dados e codigos ate maiores. Ai me faz pensar que meu codigo possa ter algo que atrase a execucao da macro.

A demora é somente na hora de copiar e colar a receita, ja o CNPJ copia e cola quase que instantaneamente. Ate tentei mudar o formato das celulas da coluna receita pra ver se resolvia, mas deu em nada.

 
Postado : 03/05/2018 9:01 am