Ir ao conteúdo
  • Cadastre-se
Vars

Demora para executar macro para inserir linha no Excel

Recommended Posts

Bom dia,

 

Gostaria de ajuda para resolver um problema de demora para o Excel processar uma macro. O arquivo está salvo como .xlsb.

Ao inserir células, o Excel está levando um certo tempo para realizar a ação. Esta planilha está trabalhando com no máximo 300 linhas e mesmo assim demora. Ao executar a etapa: Selection.Insert Shift:=xlDown o Excel chega a travar e aparece a msg: "(Não está respondendo)" mas depois volta ao normal.

Quando tempo 

Criei esta macro para inserir uma linha de cadastro de informações e carregar a formatação condicional. Tentei retirar a formatação condicional e mesmo assim a demora continua a mesma.

Não entendo quase nada de programação e peço auxilio de vocês. Obrigado!!

 

A macro que montei:

 

 

Public Sub inserir_linha()

 

Application.ScreenUpdating = False

Application.Calculation = xlCalculationManual

ActiveSheet.Unprotect "senha"

 

    Range("B3:v3").Select

    Selection.Copy

    Selection.Insert Shift:=xlDown

    Range("B3").Select

    Application.CutCopyMode = False

    Selection.ClearContents

    Range("c3").Select

    Selection.ClearContents

    Range("f3:J3").Select

    Selection.ClearContents

    Range("k3").Select

    Selection.ClearContents

    Range("l3").Select

    Selection.ClearContents

    Range("m3").Select

    Selection.ClearContents

    Range("n3").Select

    Selection.ClearContents

    Range("o3:r3").Select

    Selection.ClearContents

    Range("B3").Select

    ActiveSheet.Protect "senha", DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowDeletingRows:=True

    Application.ScreenUpdating = True

    Application.Calculation = xlCalculationAutomatic

 

End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Vars

 

Minha praia não é VBA e sim fórmulas e funções, mas observei que você usa desnecessariamente o SELECT o que pode causar demora na execução da macro.

 

Não testei, apenas retirei os Select e simplifiquei o ClearContents, onde você repetia a mesma célula e executava por etapas.

Veja se ajudou.

Public Sub inserir_linha() Application.ScreenUpdating = FalseApplication.Calculation = xlCalculationManualActiveSheet.Unprotect "senha"     Range("B3:V3").Copy    Selection.Insert Shift:=xlDown    Range("B3").Select    Application.CutCopyMode = False    Range("C3,F3:K3,M3:R3").ClearContents    Range("B3").Select    ActiveSheet.Protect "senha", DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowDeletingRows:=True    Application.ScreenUpdating = True    Application.Calculation = xlCalculationAutomatic End Sub

Dê retorno;

 

e foi útil, clique em Curtir

 

[]s

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Patropi,

 

Obrigado pela dica, fiz a alteração na macro conforme orientou mas infelizmente a demora continua a mesma.

 

Depurei a macro no VBA e a demora acontece mesmo na etapa de incluir a linha. 

 

Sem usar a macro tentei incluir ou excluir linhas nesta planilha e a demora em processar permanece.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vars

 

No Excel acontece coisas que não conseguimos explicar.

Várias vezes eu tive que passar uma planilha a limpo porque fórmulas não funcionavam e quando passei para a outra planilha funcionaram normalmente.

Faça o teste em outra planilha.

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

O jeito vai ser tentar usar uma nova planilha mesmo!

 

Valeu Patropi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×