Planilha excel demorando muito para gerar PDF

27/08/2019

0

VB

Ok, vamos la, o problema é que nessa planilha ela gera registros em PDF, são os registros RG - Mensal e RD - Registro, ambos tem 3 opções, todos imprimem rapido. O problema esta quando eu seleciono a opção de baixo (RD) e coloco a opção Coleta de Diferenciados, dai demora muito..... muito mesmo uns 40 min ou mais. Queria que ficasse rapido como os outros. Não sei onde é o problema.

As planilha saõ em codigo VBA.
Att

links das planilhas.
https://drive.google.com/file/d/12y9byIg_zmENsVBsQpQILkQ8uOCxQaH0/view?usp=sharing
Allisson Oliveira

Allisson Oliveira

Responder

Post mais votado

30/08/2019

Ok, vamos la, o problema é que nessa planilha ela gera registros em PDF, são os registros RG - Mensal e RD - Registro, ambos tem 3 opções, todos imprimem rapido. O problema esta quando eu seleciono a opção de baixo (RD) e coloco a opção Coleta de Diferenciados, dai demora muito..... muito mesmo uns 40 min ou mais. Queria que ficasse rapido como os outros. Não sei onde é o problema.

As planilha saõ em codigo VBA.
Att

links das planilhas.
https://drive.google.com/file/d/12y9byIg_zmENsVBsQpQILkQ8uOCxQaH0/view?usp=sharing


Allison

Se observar no código Vba do módulo 1 , você possui a seguinte expressão para pegar somente a data : Application.RoundDown(Sheets("Entrada - Tarefas").Cells(Z, 3), 0) , ou seja você tenta retirar o valor de hora para ficar apenas com a data , este procedimento que gera um cálculo interno , leva dois segundos para processar , se pegar o total de registros e multiplicar por dois você terá uma noção do tempo , abaixo coloquei um pequeno exemplo de alteração que já faz o tempo cair para 1 segundo , o ideal é que você separe a data já na tabela de origem , isto deixará mais rápido


Sheets("RD - Diferenciados").Cells(j, 1) = Left(CStr(Sheets("Entrada - Tarefas").Cells(Z, 3)), 10)

Espero que isto te ajude , abraços.

Adolfo Lima

Adolfo Lima
Responder

Mais Posts

30/08/2019

Allisson Oliveira

Ok, vamos la, o problema é que nessa planilha ela gera registros em PDF, são os registros RG - Mensal e RD - Registro, ambos tem 3 opções, todos imprimem rapido. O problema esta quando eu seleciono a opção de baixo (RD) e coloco a opção Coleta de Diferenciados, dai demora muito..... muito mesmo uns 40 min ou mais. Queria que ficasse rapido como os outros. Não sei onde é o problema.

As planilha saõ em codigo VBA.
Att

links das planilhas.
https://drive.google.com/file/d/12y9byIg_zmENsVBsQpQILkQ8uOCxQaH0/view?usp=sharing


Allison

Se observar no código Vba do módulo 1 , você possui a seguinte expressão para pegar somente a data : Application.RoundDown(Sheets("Entrada - Tarefas").Cells(Z, 3), 0) , ou seja você tenta retirar o valor de hora para ficar apenas com a data , este procedimento que gera um cálculo interno , leva dois segundos para processar , se pegar o total de registros e multiplicar por dois você terá uma noção do tempo , abaixo coloquei um pequeno exemplo de alteração que já faz o tempo cair para 1 segundo , o ideal é que você separe a data já na tabela de origem , isto deixará mais rápido


Sheets("RD - Diferenciados").Cells(j, 1) = Left(CStr(Sheets("Entrada - Tarefas").Cells(Z, 3)), 10)

Espero que isto te ajude , abraços.




Também espero. Vou testar. Valeu mesmo.
Responder

30/08/2019

Allisson Oliveira

Ok, vamos la, o problema é que nessa planilha ela gera registros em PDF, são os registros RG - Mensal e RD - Registro, ambos tem 3 opções, todos imprimem rapido. O problema esta quando eu seleciono a opção de baixo (RD) e coloco a opção Coleta de Diferenciados, dai demora muito..... muito mesmo uns 40 min ou mais. Queria que ficasse rapido como os outros. Não sei onde é o problema.

As planilha saõ em codigo VBA.
Att

links das planilhas.
https://drive.google.com/file/d/12y9byIg_zmENsVBsQpQILkQ8uOCxQaH0/view?usp=sharing


Allison

Se observar no código Vba do módulo 1 , você possui a seguinte expressão para pegar somente a data : Application.RoundDown(Sheets("Entrada - Tarefas").Cells(Z, 3), 0) , ou seja você tenta retirar o valor de hora para ficar apenas com a data , este procedimento que gera um cálculo interno , leva dois segundos para processar , se pegar o total de registros e multiplicar por dois você terá uma noção do tempo , abaixo coloquei um pequeno exemplo de alteração que já faz o tempo cair para 1 segundo , o ideal é que você separe a data já na tabela de origem , isto deixará mais rápido


Sheets("RD - Diferenciados").Cells(j, 1) = Left(CStr(Sheets("Entrada - Tarefas").Cells(Z, 3)), 10)

Espero que isto te ajude , abraços.






Eu não entendi muito bem o que você quis dizer aqui nessa frase (o ideal é que você separe a data já na tabela de origem , isto deixará mais rápido)

Você esta se referendo a aba (Entrada Tarefas?) e falando nessa aba, eu notei que tem um excesso de registros alem da conta a partir da célula 3145, isso pode acarretar lentidão na hora de gerar o documento?

Responder

30/08/2019

Allisson Oliveira

Ok, vamos la, o problema é que nessa planilha ela gera registros em PDF, são os registros RG - Mensal e RD - Registro, ambos tem 3 opções, todos imprimem rapido. O problema esta quando eu seleciono a opção de baixo (RD) e coloco a opção Coleta de Diferenciados, dai demora muito..... muito mesmo uns 40 min ou mais. Queria que ficasse rapido como os outros. Não sei onde é o problema.

As planilha saõ em codigo VBA.
Att

links das planilhas.
https://drive.google.com/file/d/12y9byIg_zmENsVBsQpQILkQ8uOCxQaH0/view?usp=sharing


Allison

Se observar no código Vba do módulo 1 , você possui a seguinte expressão para pegar somente a data : Application.RoundDown(Sheets("Entrada - Tarefas").Cells(Z, 3), 0) , ou seja você tenta retirar o valor de hora para ficar apenas com a data , este procedimento que gera um cálculo interno , leva dois segundos para processar , se pegar o total de registros e multiplicar por dois você terá uma noção do tempo , abaixo coloquei um pequeno exemplo de alteração que já faz o tempo cair para 1 segundo , o ideal é que você separe a data já na tabela de origem , isto deixará mais rápido


Sheets("RD - Diferenciados").Cells(j, 1) = Left(CStr(Sheets("Entrada - Tarefas").Cells(Z, 3)), 10)

Espero que isto te ajude , abraços.


Eu não entendi muito bem o que você quis dizer aqui nessa frase (o ideal é que você separe a data já na tabela de origem , isto deixará mais rápido)

Você esta se referendo a aba (Entrada Tarefas?) e falando nessa aba, eu notei que tem um excesso de registros alem da conta a partir da célula 3145, isso pode acarretar lentidão na hora de gerar o documento?

Responder

30/08/2019

Adolfo Lima

Ok, vamos la, o problema é que nessa planilha ela gera registros em PDF, são os registros RG - Mensal e RD - Registro, ambos tem 3 opções, todos imprimem rapido. O problema esta quando eu seleciono a opção de baixo (RD) e coloco a opção Coleta de Diferenciados, dai demora muito..... muito mesmo uns 40 min ou mais. Queria que ficasse rapido como os outros. Não sei onde é o problema.

As planilha saõ em codigo VBA.
Att

links das planilhas.
https://drive.google.com/file/d/12y9byIg_zmENsVBsQpQILkQ8uOCxQaH0/view?usp=sharing


Allison

Se observar no código Vba do módulo 1 , você possui a seguinte expressão para pegar somente a data : Application.RoundDown(Sheets("Entrada - Tarefas").Cells(Z, 3), 0) , ou seja você tenta retirar o valor de hora para ficar apenas com a data , este procedimento que gera um cálculo interno , leva dois segundos para processar , se pegar o total de registros e multiplicar por dois você terá uma noção do tempo , abaixo coloquei um pequeno exemplo de alteração que já faz o tempo cair para 1 segundo , o ideal é que você separe a data já na tabela de origem , isto deixará mais rápido


Sheets("RD - Diferenciados").Cells(j, 1) = Left(CStr(Sheets("Entrada - Tarefas").Cells(Z, 3)), 10)

Espero que isto te ajude , abraços.


Eu não entendi muito bem o que você quis dizer aqui nessa frase (o ideal é que você separe a data já na tabela de origem , isto deixará mais rápido)

Você esta se referendo a aba (Entrada Tarefas?) e falando nessa aba, eu notei que tem um excesso de registros alem da conta a partir da célula 3145, isso pode acarretar lentidão na hora de gerar o documento?



Sim , pois como a planilha têm que efetuar um cálculo para pegar a data , neste caso separe a data já na tabela de origem "Entrada - Tarefas", isto deve ajudar.
Responder

02/09/2019

Allisson Oliveira

Ok, vamos la, o problema é que nessa planilha ela gera registros em PDF, são os registros RG - Mensal e RD - Registro, ambos tem 3 opções, todos imprimem rapido. O problema esta quando eu seleciono a opção de baixo (RD) e coloco a opção Coleta de Diferenciados, dai demora muito..... muito mesmo uns 40 min ou mais. Queria que ficasse rapido como os outros. Não sei onde é o problema.

As planilha saõ em codigo VBA.
Att

links das planilhas.
https://drive.google.com/file/d/12y9byIg_zmENsVBsQpQILkQ8uOCxQaH0/view?usp=sharing


Allison

Se observar no código Vba do módulo 1 , você possui a seguinte expressão para pegar somente a data : Application.RoundDown(Sheets("Entrada - Tarefas").Cells(Z, 3), 0) , ou seja você tenta retirar o valor de hora para ficar apenas com a data , este procedimento que gera um cálculo interno , leva dois segundos para processar , se pegar o total de registros e multiplicar por dois você terá uma noção do tempo , abaixo coloquei um pequeno exemplo de alteração que já faz o tempo cair para 1 segundo , o ideal é que você separe a data já na tabela de origem , isto deixará mais rápido


Sheets("RD - Diferenciados").Cells(j, 1) = Left(CStr(Sheets("Entrada - Tarefas").Cells(Z, 3)), 10)

Espero que isto te ajude , abraços.






Adolfo




o comando que você colocou não funcionou, tem alguma outra forma? Fazer o código novamente do zero pode resolver?
Responder

02/09/2019

Allisson Oliveira

Ok, vamos la, o problema é que nessa planilha ela gera registros em PDF, são os registros RG - Mensal e RD - Registro, ambos tem 3 opções, todos imprimem rapido. O problema esta quando eu seleciono a opção de baixo (RD) e coloco a opção Coleta de Diferenciados, dai demora muito..... muito mesmo uns 40 min ou mais. Queria que ficasse rapido como os outros. Não sei onde é o problema.

As planilha saõ em codigo VBA.
Att

links das planilhas.
https://drive.google.com/file/d/12y9byIg_zmENsVBsQpQILkQ8uOCxQaH0/view?usp=sharing


Allison

Se observar no código Vba do módulo 1 , você possui a seguinte expressão para pegar somente a data : Application.RoundDown(Sheets("Entrada - Tarefas").Cells(Z, 3), 0) , ou seja você tenta retirar o valor de hora para ficar apenas com a data , este procedimento que gera um cálculo interno , leva dois segundos para processar , se pegar o total de registros e multiplicar por dois você terá uma noção do tempo , abaixo coloquei um pequeno exemplo de alteração que já faz o tempo cair para 1 segundo , o ideal é que você separe a data já na tabela de origem , isto deixará mais rápido





E também não sei com separar a data da tabela de origem como você sugeriu.


Sheets("RD - Diferenciados").Cells(j, 1) = Left(CStr(Sheets("Entrada - Tarefas").Cells(Z, 3)), 10)

Espero que isto te ajude , abraços.





E também não sei como separar a data da tabela de origem como você sugeriu.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar