Eu quero criar um formato no Excel para acionar um código de cor

0

Atualmente, tenho uma lista suspensa em determinadas células, conectadas a uma lista de status. 'Complete', que marca como verde, 'Pending', que marca laranja, 'Outstanding', que é marcado como vermelho. Quero que cada opção suspensa também acione uma alteração de cor da célula. Por exemplo, se a célula H23 estiver configurada como 'Completa' na barra suspensa, eu quero que a célula H22 mude automaticamente para 'Completa'. No entanto, se a célula H23 estiver configurada como 'Completa' em seu menu suspenso e a célula 'H24' estiver configurada como pendente, eu quero que ela altere a célula H23 para alterar a cor e o status automaticamente para laranja.

    
por Roxy 21.08.2014 / 09:18

1 resposta

0

Seus requisitos não são muito claros, como outros pôsteres afirmaram, mas eu adicionei um arquivo de amostra com uma macro que acho que atende às suas necessidades.

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range
    Dim PreviousRowStatus As Range

    ' The variable KeyCells contains the cells that will
    ' cause an alert when they are changed.
    Set KeyCells = Range("H:H")

    Application.EnableEvents = False

    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then

        ' Did a change occur to the status column (other than the column header?
        If Range(Target.Address).Column = "8" And Range(Target.Address).Row <> 1 _
        And Range(Target.Address).Row <> 2 Then ' Column H is column 8

            ' If the values are already the same, there's no need to make an update.
            If Target.Offset(-1, 0).Value <> Target.Value Then

                ' Update the value of the previous row to match newly entered row
                Target.Offset(-1, 0).Value = Target.Value

                ' Display a message when one of the designated cells has changed.
                ' MsgBox "Cell " & Target.Offset(-1, 0).Address & " has changed to " & _
                Target.Value & " to match data in subsequent row."

            End If

        End If

    End If

    Application.EnableEvents = True

End Sub

As cores são definidas automaticamente usando formatação condicional. Se você quiser saber mais sobre como isso funciona, consulte os links abaixo.

por 21.08.2014 / 13:11