Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por boncompani 13 Fev 2019 às 16:11
Membro 1 Estrela
Mensagens: 13
Reputação: 0
#41185
Pessoal, boa tarde!

Preciso de ajuda! Não estou conseguindo finalizar minha planilha, visto que quero inserir linhas e meu código VBA da Erro, vindo a Depurar.

Eu tenho a planilha em anexo, em que preciso inserir um conjunto de linhas (Rows("28:37")) cada vez que eu ativar o Botao1.
Porém, estas linhas elas devem ser inseridas logo após o "modelo" criado para preenchimento, ou seja, devem ser inseridas SEMPRE na linha 38 (Rows ("38:38")) e deslocar as outras para baixa. Assim, sempre que eu clicar no botão, deve inserir um conjunto de linhas para novo preenchimento, sendo os mais recentes ficando sempre no inicio.

Eu estou usando um código VBA bem simples:
Sub Macro1()
Rows("28:37").Select
Selection.Copy
Rows("38:38").Select
Selection.Insert Shift:=xlDown
Range("D41:J43").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("B39").Select
End Sub

Porém, quando clico para adicionar linha, da erro e vai direto para o Depurador, com erro na seguinte linha:
Selection.Insert Shift:=xlDown

Espero que consigam me ajudar!
Se tiverem uma outra idéia para a inserção das linhas, fico a disposição para alteração da planilha!

No aguardo e obrigado galera!
Atenciosamente,

Caio F. Boncompani
Apenas usuários registrados podem ver ou baixar anexos.
Por osvaldomp 15 Fev 2019 às 09:41
Membro 5 Estrelas
Mensagens: 1310
Reputação: 649
#41222
Aqui funciona corretamente e sem travar. ;)
Por boncompani 15 Fev 2019 às 09:49
Membro 1 Estrela
Mensagens: 13
Reputação: 0
#41223
Osvaldo, bom dia!
Realmente ele funciona. Porém, se na linha inserida eu inserir qualquer dado, e novamente clicar no botao1, esse dará o erro e irá para o depurador.
Por boncompani 15 Fev 2019 às 11:47
Membro 1 Estrela
Mensagens: 13
Reputação: 0
#41229
osvaldomp escreveu:Aqui funciona corretamente e sem travar. ;)

Se puder me ajudar de alguma outra forma, visto que equando insiro qualquer informação dentro das linha inseridas e tento inserir novas, da o erro. Se eu não inserir nenhum texto/numero nas linha e colocar para inserir novas linhas, ele continua funcionando normalmente
Por osvaldomp 15 Fev 2019 às 12:49
Membro 5 Estrelas
Mensagens: 1310
Reputação: 649
#41232
Caio, eu não consegui reproduzir aqui o erro que você apontou.
Funciona corretamente com ou sem dados inseridos nas novas linhas.

Experimente o código abaixo, se persistir o erro salve uma cópia do arquivo após ocorrer o erro, depois disponibilize o arquivo aqui no fórum.
Código: Selecionar todosSub CopíaCola()
 Rows("28:37").Copy
 Rows("38").Insert Shift:=xlDown
 Range("D41:J43").Value = ""
End Sub
Por boncompani 15 Fev 2019 às 14:43
Membro 1 Estrela
Mensagens: 13
Reputação: 0
#41238
osvaldomp escreveu:Caio, eu não consegui reproduzir aqui o erro que você apontou.
Funciona corretamente com ou sem dados inseridos nas novas linhas.

Experimente o código abaixo, se persistir o erro salve uma cópia do arquivo após ocorrer o erro, depois disponibilize o arquivo aqui no fórum.
Código: Selecionar todosSub CopíaCola()
 Rows("28:37").Copy
 Rows("38").Insert Shift:=xlDown
 Range("D41:J43").Value = ""
End Sub


Osvaldo, agradeço à atenção.
O Erro persiste. O que eu pude perceber, é que se eu clicar para inserir novas linhas depois de alterado à anterior, ele dará o Erro e aparecerá a Mensagm de ir ao Depurador ou FIM. Se eu selecionar fim, salvar e fechar, ele abre normalmente e inseri linhas novas, porém sem apagar as informações do Range (D41:J43), mantendo os mesmos do anterior.
E fica um erro em cadeia, pois se eu alterar novamente as informações das novas linhas inseridas e clicar para inserir mais linhas, dará o mesmo erro.

Em anexo, disponibilizo a planilha salva, após ocorrer o erro.
Também em anexo (WORD) as prints do passo a passo do que foi feito e os erros ocorridos.

Agradeço novamente!
Abraços!
Apenas usuários registrados podem ver ou baixar anexos.
Por osvaldomp 15 Fev 2019 às 20:50
Membro 5 Estrelas
Mensagens: 1310
Reputação: 649
#41248
Caio, aqui roda sem problemas.

Faça testes com o arquivo novo que anexei abaixo.
Nesse arquivo há duas planilhas e em ambas eu colei apenas o intervalo que deve ser reproduzido pelo código, B28:O37.

Coloquei um botão em cada planilha, em uma o botão está vinculado à sua macro original e na outra o botão está vinculado à macro que eu sugeri.

dica - para responder clique em + Resposta, localizado abaixo da última postagem
Apenas usuários registrados podem ver ou baixar anexos.