Ir ao conteúdo

Posts recomendados

Postado

Boa tarde queridos, alguém sabe como posso fazer para deixar uma fórmula padrão ao ser apagada?

No exemplo abaixo coloquei uma fórmula na coluna E, precisava que se alguma fosse apagada, ela retornasse, e só seria substituída de fosse escrito algo na célula.

 

Fico no aguardo caso aguem consiga me ajudar!

 

 

Obrigado desde já!

Exemplo Fórum.xlsx

Postado

Veja se atende.

Esse código deve ser colado no módulo da Planilha1 (Alt+F11, do lado esquerdo duplo clique em Planilha1)

 

Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Count > 1 Then Exit Sub
 If Target.Column <> 5 Or Target.Value <> "" Then Exit Sub
 ActiveCell.FormulaR1C1 = "=RC[-1]*RC[-2]"
End Sub

 

Postado

Certo, você sabe cpmo posso fazer com as seguintes informações:

 COLUNAS D ATÉ R, com a fórmula: =PROCV($B5&D$3;'Plan1'!$A$3:$E$1006;5;0), sendo que o segmento "$B5&D$3" é variável??

 

E COLUNA "S" com a fórmula: =PROCV($B4&S$2;'Plan 1'!$B$3:$H$1006;7;0), sendo o segmento "$B4&S$2" variável??

Postado

Você colocou as fórmulas nas planilhas mas não colocou o que deseja fazer. Não entendi o que você quer.

 

Você quer colocar uma fórmula em uma célula e ao arrastar a fórmula para para a direita e para baixo, um certo trecho da fórmula altere as referências ?

 

Por exemplo, este trecho que você citou "$B5&D$3" ao ser arrastada a fórmula para a direita qual é o resultado desejado ?

  • Solução
Postado

Esse código deve ser colado no módulo de EstaPastaDeTrabalho (Alt+F11, do lado esquerdo duplo clique em EstaPastaDeTrabalho)


 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 Dim Ul As Long
  If Sh.Name = "Insumos" Then
   Ul = Cells(Rows.Count, 4).End(xlUp).Row - 1
   If Not Intersect(Target, Range("D4:R" & Ul)) Is Nothing And IsEmpty(Target.Value) Then
    Target.FormulaR1C1 = _
     "=IFERROR(IF(VLOOKUP(RC2&R3C,'Fórmulas de Produção'!R3C1:R1006C5,5,0)>0,-VLOOKUP(RC2&R3C,'Fórmulas de Produção'!R3C1:R1006C5,5,0),""""),"""")"
   ElseIf Not Intersect(Target, Range("S4:S" & Ul)) Is Nothing And IsEmpty(Target.Value) Then
    Target.FormulaR1C1 = _
     "=IFERROR(VLOOKUP(RC2&R2C,'Fórmulas de Produção'!R3C2:R1006C8,7,0),"""")"
   End If
  ElseIf Sh.Name = "Entrada Acabados" Then
   Ul = Cells(Rows.Count, 4).End(xlUp).Row - 1
   If Not Intersect(Target, Range("A4:A" & Ul)) Is Nothing And IsEmpty(Target.Value) Then
    Target.Formula2R1C1 = _
     "=IFERROR(INDEX(Insumos!R4C1:R1000C1,AGGREGATE(15,6,ROW(Insumos!R4C1:R1000C1)-ROW(R4C1)+1/((Insumos!R4C3:R1000C3=""S"")*(Insumos!R4C1:R1000C1>0)),ROW(R[-3]C))),"""")"
   ElseIf Not Intersect(Target, Range("B4:B" & Ul)) Is Nothing And IsEmpty(Target.Value) Then
    Target.Formula2R1C1 = _
     "=IFERROR(INDEX(Insumos!R4C2:R1000C2,AGGREGATE(15,6,ROW(Insumos!R4C2:R1000C2)-ROW(R4C1)+1/((Insumos!R4C3:R1000C3=""S"")*(Insumos!R4C2:R1000C2>0)),ROW(R[-3]C))),"""")"
   End If
  ElseIf Sh.Name = "Embalagens" Then
   Ul = Cells(Rows.Count, 4).End(xlUp).Row - 1
   If Not Intersect(Target, Range("A4:A" & Ul)) Is Nothing And IsEmpty(Target.Value) Then
    Target.Formula2R1C1 = _
     "=IFERROR(INDEX('Saída Acabados'!R4C1:R1000C1,AGGREGATE(15,6,ROW('Saída Acabados'!R4C1:R1000C1)-ROW(R4C1)+1/(('Saída Acabados'!R4C4:R1000C4=""S"")*('Saída Acabados'!R4C1:R1000C1>0)),ROW(R[-3]C))),"""")"
   ElseIf Not Intersect(Target, Range("B4:B" & Ul)) Is Nothing And IsEmpty(Target.Value) Then
    Target.Formula2R1C1 = _
     "=IFERROR(INDEX('Saída Acabados'!R4C2:R1000C2,AGGREGATE(15,6,ROW('Saída Acabados'!R4C2:R1000C2)-ROW(R4C1)+1/(('Saída Acabados'!R4C4:R1000C4=""S"")*('Saída Acabados'!R4C2:R1000C2>0)),ROW(R[-3]C))),"""")"
   ElseIf Not Intersect(Target, Range("C4:C" & Ul)) Is Nothing And IsEmpty(Target.Value) Then
    Target.Formula2R1C1 = _
     "=IFERROR(INDEX('Saída Acabados'!R4C3:R1000C3,AGGREGATE(15,6,ROW('Saída Acabados'!R4C3:R1000C3)-ROW(R4C1)+1/(('Saída Acabados'!R4C4:R1000C4=""S"")*('Saída Acabados'!R4C3:R1000C3>0)),ROW(R[-3]C))),"""")"
   ElseIf Not Intersect(Target, Range("D4:D" & Ul)) Is Nothing And IsEmpty(Target.Value) Then
    Target.Formula2R1C1 = _
     "=IFERROR(INDEX('Saída Acabados'!R4C4:R1000C4,AGGREGATE(15,6,ROW('Saída Acabados'!R4C4:R1000C4)-ROW(R4C1)+1/(('Saída Acabados'!R4C4:R1000C4=""S"")*('Saída Acabados'!R4C4:R1000C4>0)),ROW(R[-3]C))),"""")"
   ElseIf Not Intersect(Target, Range("E4:I" & Ul)) Is Nothing And IsEmpty(Target.Value) Then
    Target.FormulaR1C1 = _
     "=IFERROR(IF(R4C4=""S"",-VLOOKUP(RC2&R3C,'Fórmulas de Produção'!R3C3:R1006C10,8,0),""""),"""")"
   End If
  End If
End Sub

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!