Ir ao conteúdo
  • Cadastre-se

Excel Criar fórmula no excel com células dependentes uma da outra


Ir à solução Resolvido por Edson Luiz Branco,

Posts recomendados

Pessoal, alguém consegue me ajudar em como fazer o seguinte no excel:

Na célular A1, escrevo um valor "X". Então na célular A2, o resultado deve ser A1*1,2.

Porém, quero também ter a opção de escrever diretamente na célula A2, então o resultado na célula A1, deve ser A2/1,2.

Como fazer isso no excel sem que a fórmula se apague?

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Solução

Bem vindo ao fórum, @Jukafrr

 

Não dá pra fazer por fórmula pelo simples fato de que uma das fórmulas teria que ser sacrificada para dar lugar ao valor inserido pelo usuário.

Mas dá pra fazer por VBA. Por exemplo, clique com o botão direito da "orelha" da Plan1, escolha "Exibir Código" e cole as seguintes linhas no editor:

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim x As Variant: x = Target.Value
  If Not IsNumeric(x) Then Exit Sub
  Application.EnableEvents = False
    Select Case Target.Address(False, False)
      Case "A1"
        [A2].Value = 1.2 * x
      Case "A2"
        [A1].Value = x / 1.2
    End Select
  Application.EnableEvents = True
End Sub

Teste agora com valores nas células A1 e A2.

  • Curtir 1
  • Obrigado 2
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Muito obrigado.

Agora uma outra dúvida evoluindo com esse código.....

Criei o seguinte código:

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim x As Variant: x = Target.Value
  If Not IsNumeric(x) Then Exit Sub
  Application.EnableEvents = False
    Select Case Target.Address(False, False)
      Case "J11"
        [J12].Value = x / [O8]
      Case "J12"
        [J11].Value = [O8] * x
    End Select
  Application.EnableEvents = True
End Sub

 

Agora preciso que ele rode automaticamente sempre que eu altere um determinada célula, por exemplo a célula "G7".

 

Você consegue me ajudar?

 

Obrigado.

adicionado 1 minuto depois
1 minuto atrás, Jukafrr disse:

Muito obrigado @Edson Luiz Branco

Agora uma outra dúvida evoluindo com esse código.....

Criei o seguinte código:

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim x As Variant: x = Target.Value
  If Not IsNumeric(x) Then Exit Sub
  Application.EnableEvents = False
    Select Case Target.Address(False, False)
      Case "J11"
        [J12].Value = x / [O8]
      Case "J12"
        [J11].Value = [O8] * x
    End Select
  Application.EnableEvents = True
End Sub

 

Agora preciso que ele rode automaticamente sempre que eu altere um determinada célula, por exemplo a célula "G7".

 

Você consegue me ajudar?

 

Obrigado.

 

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...
Em 11/08/2018 às 17:01, Edson Luiz Branco disse:

Bem vindo ao fórum, @Jukafrr

 

Não dá pra fazer por fórmula pelo simples fato de que uma das fórmulas teria que ser sacrificada para dar lugar ao valor inserido pelo usuário.

Mas dá pra fazer por VBA. Por exemplo, clique com o botão direito da "orelha" da Plan1, escolha "Exibir Código" e cole as seguintes linhas no editor:


Private Sub Worksheet_Change(ByVal Target As Range)
  Dim x As Variant: x = Target.Value
  If Not IsNumeric(x) Then Exit Sub
  Application.EnableEvents = False
    Select Case Target.Address(False, False)
      Case "A1"
        [A2].Value = 1.2 * x
      Case "A2"
        [A1].Value = x / 1.2
    End Select
  Application.EnableEvents = True
End Sub

Teste agora com valores nas células A1 e A2.

 

Opa, beleza? Criei um código com base no seu, e eu gostaria de uma ajuda com um negócio.. o código ficou assim:

 

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim x As Variant: x = Target.Value
  If Not IsNumeric(x) Then Exit Sub
  Application.EnableEvents = False
    Select Case Target.Address(False, False)
      Case "F2"
        [F3].Value = x / [C2+C3]
      Case "F3"
        [F2].Value = [C2+C3] * x
    End Select
  Application.EnableEvents = True
End Sub

 

Ou seja, os valores de F2 e F3 dependem também de C2 e C3, mas quando eu altero o valor de uma dessas duas (C2 ou C3) o valor das células F não se atualizam, a menos que eu clique nelas e reescreva alguma coisa. Teria um jeito de deixar isso no automático tambem?

Acredito que essa também seja a duvida do rapaz ali acima.

 

Link para o comentário
Compartilhar em outros sites

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