No EXCEL, Como preencher automaticamente uma célula com a mesma cor de outra célula, combinada com uma fórmula IF / THEN?

1

Meu modelo envolve três células, mas apenas uma célula precisa de ajuda (a terceira).

A primeira célula será igual a $ 0 ou algo maior. A segunda célula será maior que $ 0 ou ficará em branco. A terceira célula deve ser igual ao valor na segunda célula apenas se a primeira célula não for igual a $ 0. Se o valor da primeira célula for igual a $ 0, a terceira célula deverá ser igual a $ 0.

A primeira célula é uma fórmula simples baseada em outras entradas não relacionadas do usuário. A fonte é sempre vermelha.

A segunda célula é uma simples entrada do usuário. A fonte é sempre azul aqui, mas o usuário pode preencher manualmente a célula com a cor amarela (com base em se o valor é real ou estimado).

A terceira célula deve estar em negrito com fonte verde se o valor for maior que $ 0 e fonte vermelha (não negrito) se o valor for igual a $ 0. Além disso, essa célula só deve ser preenchida com a cor amarela se a segunda célula estiver preenchida com amarelo E se o valor da primeira célula for maior que $ 0.

Estou pensando que a solução envolve uma combinação dessas funções; que está além do meu nível de habilidade do EXCEL. 1) IF / THEN formula 2) Formatação Condicional 3) código VBA

O que devo fazer com a terceira célula para obter tudo o que quero automaticamente (sem que o usuário precise tocar na terceira célula)?

Obrigado antecipadamente!

    
por James 26.04.2018 / 19:32

1 resposta

0

Aqui está o que eu criei. Não tenho certeza se você está familiarizado com o VBA, mas, se quiser, posso explicar esse código e como implementá-lo em mais detalhes.

Eu adicionei dois botões à folha, um que formata a cor / fonte da célula e outro que limpa a cor / fonte.

SubFormatColor3()SetmyWS=ThisWorkbook.Sheets("MySheet")
Set cell3 = myWS.Range("C2")

' Determining what color font is needed

If cell3.Value > 0 Then

    cell3.Font.Color = vbGreen
    cell3.Font.Bold = True

ElseIf cell3.Value = 0 Then

    cell3.Font.Color = vbRed

End If

' Determining what color cell is needed (6 refers to the yellow cell color)

If (myWS.Range("B2").Interior.ColorIndex = 6 And myWS.Range("A2").Value > 0) Then

    cell3.Interior.ColorIndex = 6

End If

End Sub

~

Sub Clear()

Set myWS = ThisWorkbook.Sheets("MySheet")

With myWS.Range("C2")
    .Font.Color = 0
    .Font.Bold = False
    .Interior.ColorIndex = 0
End With

End Sub
    
por 26.04.2018 / 20:43