Pessoal, bom dia!
Preciso de vossa ajuda!
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()
ActiveWindow.FreezePanes = False
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
Range("X27").Select
ActiveWindow.FreezePanes = True
End Sub
Quando clico no botão para adicionar linha, ele adiciona normalmente, porém, a partir do momento que insiro informações nas linha inseridas, e clico novamente para adicionar um conjunto de linhas, da erro (Erro em tempo de execução '-2147417848 (80010108) e vai direto para o Depurador, no seguinte comando: Selection.Insert Shift:=xlDown.
Espero que consigam me ajudar!
Se tiverem uma outra ideia para a inserção das linhas, fico a disposição para alteração da planilha!
Não conseguir inserir o anexo em formato XLSM diretamente aqui. Então fiz o upload da planilha no link abaixo:
https://drive.google.com/open?id=1agFjH ... iHs5fwKBeP
No aguardo e obrigado galera!
Atenciosamente,
Caio Faccini Boncompani
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Inclusão de Linhas (Copiar + Inserir) - VBA (Erro)
-
- Acabou de chegar
- Mensagens: 1
- Registrado em: Sex Fev 15, 2019 7:30 am
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Inclusão de Linhas (Copiar + Inserir) - VBA (Erro)
Boncompani, bom dia e seja bem vindo ao fórum.
Com base na sua necessidade, desenvolvi a rotina abaixo, que executa e entrega o resultado, de acordo com o que atendi da sua explicação.
Teste e veja se é isso que realmente precisa.
Quaisquer dúvidas, estou a disposição.
Com base na sua necessidade, desenvolvi a rotina abaixo, que executa e entrega o resultado, de acordo com o que atendi da sua explicação.
Teste e veja se é isso que realmente precisa.
Código: Selecionar todos
Sub InserirLinhasAbaixo()
' Solução desenvolvida por Mikel S Fraga.
With Rows("28:37"): .Copy: .Insert Shift:=xlDown: End With
Range("D31:J33").ClearContents
Range("B29").Select
End Sub