Página 1 de 1

Inserir linha com criterio

Enviado: 24 Ago 2022 às 22:32
por SOUZADENILSON
Boa noite
Possuo uma planilha que estou precisando calcular o estoque fisico.

Na coluna A aparece falso, quando tem codigo diferente,

Alguem tem alguma macro quando na coluna a aparecer a palavra falso ele insere uma linha em branco antes da palavra falso , na coluna I desta linha em branco ele coloca o numero zero e nas celulas em branco ele faz o calculo.

Exemplo a2=Falso

Insere linha em branco a palavra falso vai para a3.

Re: Inserir linha com criterio

Enviado: 26 Ago 2022 às 16:41
por osvaldomp
Código: Selecionar todos
Sub InsereLinha()
 Dim k As Long
  k = Rows.Count
  Application.ScreenUpdating = False
  Do
   k = Cells(k, 1).End(3).Row
   If k = 1 Then Exit Sub
   Rows(k).Insert
  Loop
End Sub

Re: Inserir linha com criterio

Enviado: 26 Ago 2022 às 19:08
por SOUZADENILSON
Boa noite, obrigado
Vou tentar colocar na linha incluida na coluna I (Estoque) valor zero e nas celulas da coluna i que estão vazia uma formula para calculo do estoque.
Da maneira que voce passou funcionou perfeitamente

Re: Inserir linha com criterio

Enviado: 26 Ago 2022 às 20:13
por osvaldomp
SOUZADENILSON escreveu: 26 Ago 2022 às 19:08 Vou tentar colocar na linha incluida na coluna I (Estoque) valor zero ...
Talvez você tenha algum outro objetivo ao colocar zero em uma célula vazia, mas para efeitos de cálculos, o Excel já considera uma célula vazia como valor zero.
Se for realmente necessário colocar o zero, então acrescente a parte em vermelho, conforme abaixo.
Rows(k).Insert: Cells(k, "I") = 0

... e nas celulas da coluna i que estão vazia uma formula para calculo do estoque.
Retorne se precisar de mais juda, nesse caso você precisa nos informar qual é exatamente a fórmula que deseja incluir e exatamente em quais células.

Re: Inserir linha com criterio

Enviado: 26 Ago 2022 às 22:09
por SOUZADENILSON
Pega a celula que está com o fisico zero soma com a entrada linha abaixo e subtrai da coluna saida
Ex.: (i2 + g3)- g4. Não tem problema se estoque ficar negativo. Esta formula pega somente as celulas da planilha

Re: Inserir linha com criterio

Enviado: 27 Ago 2022 às 09:06
por osvaldomp
Desculpe, mas com base na sua descrição eu não consigo entender em quais células você quer colocar as fórmulas.

Sugestão: monte e disponibilize uma planilha de exemplo, com 10 a 15 linhas com dados, coloque em algumas células da coluna A o texto FALSO e as demais células dessa coluna deixe vazias, seguindo a estrutura da planilha que você já postou.

Em seguida rode o código que passei e depois coloque manualmente as fórmulas nas células desejadas.

Re: Inserir linha com criterio

Enviado: 27 Ago 2022 às 15:36
por SOUZADENILSON
Boa tarde, talvez não expliquei corretamente.
Todas as vezes que encontrar a palavra falso na coluna a ele acrescenta uma linha em branco e na coluna I acrescenta numero 0.
Fiz uma tentativa e não deu certo. A ideia da formula é soma o numero zero mais a entrada da linha abaixo e menos a saida da linha abaixo ( na coluna i tem a formula)
A macro tem que usar formula somente para as celulas da coluna i que estão vazias

Re: Inserir linha com criterio

Enviado: 27 Ago 2022 às 17:04
por osvaldomp
Código: Selecionar todos
Sub InsereLinha()
 Dim k As Long
  k = Rows.Count
  Application.ScreenUpdating = False
  Do
   k = Cells(k, 1).End(3).Row
   If k = 1 Then Exit Do
   Rows(k).Insert: Cells(k, "I") = 0
  Loop
  Range("I2:I" & Cells(Rows.Count, 2).End(3).Row).SpecialCells(4).FormulaR1C1 = "=SUM(R[-1]C,RC[-2],-RC[-1])"
End Sub
#
No caso de I2 restar vazia após a macro inserir as linhas e colocar os zeros (não tenho a informação se isso poderá ocorrer), então a sua fórmula em I2 ficará =(I1+G2)-H2 e irá retornar erro.

Para evitar o erro eu converti a sua fórmula para =SOMA(I2;G3;-H3).