none
Formatação condicional ao alterar o conteúdo de uma celula RRS feed

  • Pergunta

  • Pessoal,

    Gostaria de saber se tem alguma forma incluir na macro um código que na formatação condicional de uma celula, ao alterar seu valor de uma outra celula da mesma linha, altere a cor da fonte.


    Kleber M Calmon

    sexta-feira, 10 de abril de 2015 19:44

Respostas

  • Suponha que essa sua planilha se chame 'Original'. Crie uma cópia (como valores) dela chamada 'Check'.

    Use o código a seguir:

    Sub Main()
        Dim wsOriginal As Excel.Worksheet
        Dim wsCheck As Excel.Worksheet
        Dim rCell As Excel.Range
        
        With ThisWorkbook
            Set wsOriginal = .Worksheets("Original")
            Set wsCheck = .Worksheets("Check")
        End With
        
        wsOriginal.Cells.Interior.ColorIndex = xlColorIndexNone
        For Each rCell In wsOriginal.UsedRange.SpecialCells(xlCellTypeConstants, 23)
            If rCell <> wsCheck.Range(rCell.Address) Then
                rCell.EntireRow.Interior.Color = RGB(255, 127, 127)
            End If
        Next rCell
        
        MsgBox "Check concluído!", vbInformation
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta Kleber M Camon quarta-feira, 15 de abril de 2015 19:31
    terça-feira, 14 de abril de 2015 01:34
    Moderador

Todas as Respostas

  • Não é necessário macro. Você tentou explorar a questão da criação de uma regra de formatação condicional?

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    domingo, 12 de abril de 2015 01:27
    Moderador
  • Caro Felipe,

    Na verdade com relação a colocar numa macro, é uma questão posterior, mas o que preciso mesmo é saber se existe essa regra de formatação condicional que seja ativada quando uma célula tem seu valor alterado.


    Kleber M Calmon

    segunda-feira, 13 de abril de 2015 11:16
  • Por exemplo, temos os seguintes valores:

    A1 = 10

    B1 = 20

    C1 = 30

    Ok, se alterarmos B1 para 25, a linha irá colorir. E quando alterarmos de novo para 20, é para ela descolorir?


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 13 de abril de 2015 13:31
    Moderador
  • Olá Felipe,

    Basta colorir uma vez, preciso saber se um campo foi alterado, se o valor voltar ao que estava antes não é necessário retorna a cor.


    Kleber M Calmon

    segunda-feira, 13 de abril de 2015 18:55
  • Suponha que essa sua planilha se chame 'Original'. Crie uma cópia (como valores) dela chamada 'Check'.

    Use o código a seguir:

    Sub Main()
        Dim wsOriginal As Excel.Worksheet
        Dim wsCheck As Excel.Worksheet
        Dim rCell As Excel.Range
        
        With ThisWorkbook
            Set wsOriginal = .Worksheets("Original")
            Set wsCheck = .Worksheets("Check")
        End With
        
        wsOriginal.Cells.Interior.ColorIndex = xlColorIndexNone
        For Each rCell In wsOriginal.UsedRange.SpecialCells(xlCellTypeConstants, 23)
            If rCell <> wsCheck.Range(rCell.Address) Then
                rCell.EntireRow.Interior.Color = RGB(255, 127, 127)
            End If
        Next rCell
        
        MsgBox "Check concluído!", vbInformation
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta Kleber M Camon quarta-feira, 15 de abril de 2015 19:31
    terça-feira, 14 de abril de 2015 01:34
    Moderador
  • Obrigado Felipe,

    Vou testar.


    Kleber M Calmon

    quarta-feira, 15 de abril de 2015 19:31