Notifications
Clear all

Inserir nova linha seguindo a fórmula da linha anterior

13 Posts
3 Usuários
0 Reactions
2,438 Visualizações
 ever
(@ever)
Posts: 0
New Member
Topic starter
 

Bom dia galera, preciso de uma macro que automatize o "inserir linha", pois quando insiro uma nova, ele não está dando sequência na fórmula da linha anterior.
Preciso que ele insira uma nova linha e a mesma venha com a fórmula, porém sem dados anteriores, apenas a fórmula aplicada na célula.

Obrigado

 
Postado : 28/11/2014 7:57 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Tenho 2 dicas pra vc:

1 - converta em tabela (Menu "Página Inicial" - "Formatar como tabela").

2 - Use a pesquisa do fórum, pq esse tema já tem várias respostas.

 
Postado : 28/11/2014 8:00 am
 ever
(@ever)
Posts: 0
New Member
Topic starter
 

Já tentei encontrar aqui no fórum e não consegui.
Formatar para tabela não está rolando.

Já tenho minha tabela pronta, vou anexar, dá uma olha por gentileza, só falta isso de inserir linhas novas e ele puxar automaticamente o código da linha anterior

 
Postado : 28/11/2014 10:30 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Isso será feito em qual guia? Pedido ou Tabela?

Att

 
Postado : 28/11/2014 10:54 am
 ever
(@ever)
Posts: 0
New Member
Topic starter
 

Na guia pedido

 
Postado : 28/11/2014 12:57 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite ever

Acho que entendi qual era o teu problema e resolvi de uma maneira diferente, acrescentei uma condição na fórmular que só mostra os valores quando tem dados digitados na coluna A.

Confira na planilha:

Dê retorno.

Se a resposta foi útil, clique na mãozinha que fica do lado da ferramenta Citar.

[]s

 
Postado : 28/11/2014 6:01 pm
 ever
(@ever)
Posts: 0
New Member
Topic starter
 

Boa tarde Patropi,

Na verdade esse não era o meu problema.
O meu problema é que vou bloquear essas células para nao ser possivel editar os campos onde contenham fórmula, mas caso a pessoa queira inserir mais linhas, seja possível e que essa linha inserida já seja inserida com a fórmula que contém na linha de cima.

Espero que possa me ajudar, obrigado!

 
Postado : 01/12/2014 11:28 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Veja se isso funciona..

Sub aleVBA_13675()
'Foi usado o  Gravador de Macros
    Range("A65536").Select
    Selection.End(xlUp).Select
    Selection.Offset(-1).Select
    
    With Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 16))
    .Offset(1).Insert shift:=xlDown
    .Copy
    .Offset(1).PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
    .Offset(1).PasteSpecial xlPasteFormats
    Application.CutCopyMode = False

End With

End Sub

Att

 
Postado : 01/12/2014 11:42 am
 ever
(@ever)
Posts: 0
New Member
Topic starter
 

Boa tarde,

Cara, é quase isso! Dessa forma está dando algum bug, não entendi o por que, mas ele nao insere uma linha inteira, dá problema! Criei um botão, dá uma olhada no anexo, por gentileza.

 
Postado : 01/12/2014 1:29 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Tente assim...
Eu não tive problemas

Sub aleVBA_13675V2()
'Foi usado o  Gravador de Macros
    Range("A65536").Select
    Selection.End(xlUp).Select
    Selection.Offset(-1).Select
    
    With Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 34))
    .Offset(1).Insert shift:=xlDown
    .Copy
    .Offset(1).PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
    .Offset(1).PasteSpecial xlPasteFormats
    Application.CutCopyMode = False

End With

End Sub

Att

 
Postado : 01/12/2014 1:37 pm
 ever
(@ever)
Posts: 0
New Member
Topic starter
 

Nossa! É exatamente isso Alex, só falta um detalhe.
Preciso bloquear as células que contenham fórmula para que não consigam editar, ao bloquear o botão de inserir linhas deixa de funcionar, dando uma mensagem de erro, segue em anexo o erro.

 
Postado : 02/12/2014 4:43 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

eveer

Pra resolver isso, basta inserir o código abaixo no início e no final da macro, que desbloqueia a planilha e volta bloquear no final da execução da macro.

No inicio após o nome da macro insira:

ActiveSheet.Unprotect "TESTE"

No final antes de End Sub insira:

ActiveSheet.Protect "TESTE"

Substitua a palavra TESTE pela senha da tua planilha.

Se a dica foi útil, clique na mãozinha que fica do lado da ferramenta Citar.

[]s

 
Postado : 02/12/2014 8:03 am
 ever
(@ever)
Posts: 0
New Member
Topic starter
 

É exatamente o que eu queria, muitoooo obrigado!

 
Postado : 02/12/2014 1:30 pm