Ir ao conteúdo

Inserir linha copiando formula


Tiago Pirola

Posts recomendados

Postado

Tudo bem galera!

Estou com uma dificuldade, se puderem me ajudar ficarei grato.

A situação é a seguinte:Tenho varias colunas preenchidas com varios tipos de dados( nome, valores etc.), no entanto, em uma dessas colunas( que pode ficar em qualquer posição da tabela) é preenchida com fórmula.Existem situações em que preciso inserir novas linhas no meio da tabela, aí eu preciso ficar copiando a formula para as novas células criadas.Vou tentar ser mais claro dando um Exemplo: a1=1;b1=2;c1=3;D1= soma de a1:c1. Imaginemos que existam varias linhas nessa situação(a1 até a50) com valores nas três primeiras células e a quarta célula a soma desses três primeiros valores.A ideia é criar linha(S) em branco(em qualquer posição da tabela),entretanto,a célula que pertence a essa nova linha criada localizada na posição da "coluna de formula", que é a coluna D, essa nova célula deve manter a formula dessa coluna, ou seja,a formula de soma.Resumindo, quando inserirmos novas linha(s) será copiado para essa nova linha apenas a formula pertencente a linha anterior que está localizada na coluna "D" das formulas, os outros dados, que são os números usados para efetuar a soma na célula "D", não serão copiados.

Obs: Consegui uma macro na Net que inseriu uma nova linha, no entanto, a macro copiava todos os dados da linha anterior.Também consegui uma macro que inseri linhas em branco.O que busco é o meio termo, inserir uma linha que mantenha dados em apenas uma célula, que é a célula que pertence a coluna de formula, e o dado que deve ser mantido é logicamente a formula.

Tentei algumas macros más não tive êxito.Se alguém puder me dá uma dica ou solução, ficarei agradecido.

Postado

Boa tarde!!!

Tente adaptar o código abaixo

Ou detalhe melhor sua dúvida.

 
Sub EuNãoEntendi()
Dim iRow As Integer
iRow = Selection.Row
Selection.EntireRow.Select
Selection.Insert Shift:=xlDown
Rows(iRow + 1).Copy
Rows(iRow).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

End Sub

Att

Postado

Tudo bom zinhovba!

Sua macro resolveu 90% do que eu preciso.A proposta era criar uma linha em branco, isso sua macro resolveu.Vou tentar ser mais claro dando um Exemplo: a1=1;b1=2;c1=3;D1= soma de a1:c1. Imaginemos que existam varias linhas nessa situação(a1 até a50) com valores nas três primeiras células e a quarta célula a soma desses três primeiros valores.A ideia é criar linha(S) em branco( como sua macro sugeriu),entretanto,a célula que pertence a essa nova linha criada localizada na posição da "coluna de formula", que é a coluna D, essa célula deve manter a formula dessa coluna, ou seja,a formula de soma.Resumindo, quando inserirmos novas linhas será copiado para essa nova linha apenas a formula pertencente a linha anterior que está localizada na coluna "D" das formulas, os outros dados, que são os números usados para efetuar a soma na célula "D", não serão copiados.

Obs: Consegui uma macro na Net que inseriu uma nova linha, no entanto, a macro copiava todos os dados da linha anterior.Já no caso da sua macro,ela inseri uma linha em branco.O que busco é o meio termo, inserir uma linha que mantenha dados em apenas uma célula, que é a célula que pertence a coluna de formula.

De qualquer forma brother , te agradeço pela atenção.Caso tenha mais sugestões ficarei agradecido.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!