none
macro vba- formatação condicional - pintar a celula ao lado RRS feed

  • Pergunta

  • oq posso alterar na macro abaixo para que, ao invés do intervalo M28:M200 mudar de cor, isso aconteca no intervalo N28:N200?

    (Se o valor da celula for "concluido" , "atrado", etc, eu ____ a celula do lado dela, e assim sucessivamente)

    Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Range("m28:m200")) Is Nothing Then
       
     
        Select Case Target
          Case "Concluído"
            Target.Font.Color = RGB(51, 51, 255)
        
            Case "Atrasado"
            Target.Font.Color = RGB(255, 0, 0)
           
            Case "Em andamento - no prazo"
            Target.Font.Color = RGB(51, 204, 0)
           
            Case "Em andamento - risco de atraso"
            Target.Font.Color = RGB(255, 255, 51)
           
            Case "Não Iniciado"
            Target.Font.Color = RGB(153, 153, 153)
           
        End Select
      End If
    End Sub

     

    Obrigada!

    sexta-feira, 10 de setembro de 2010 20:04

Respostas

  • Use

    Target.offset(0,1).Font.Color
    
    Teste ai e qqer coisa fale.

    Att
    Bruno Silva Leite Office Developer officevb.blogspot.com
    sábado, 11 de setembro de 2010 21:08
  • Altere o evento, de Worksheet_Change para o evento

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    End Sub

    Este evento fica em Esta_Pasta_de_Trabalho

    Teste ai e qqer coisa poste

    Att


    Bruno Silva Leite Office Developer officevb.blogspot.com
    quinta-feira, 16 de setembro de 2010 00:42

Todas as Respostas

  • Use

    Target.offset(0,1).Font.Color
    
    Teste ai e qqer coisa fale.

    Att
    Bruno Silva Leite Office Developer officevb.blogspot.com
    sábado, 11 de setembro de 2010 21:08
  • valeu bruno~! funcionou!
    domingo, 12 de setembro de 2010 03:52
  • outro probleminha rsrs

    a macro funciona, mas, essa planilha tem 3 colunas:

    - na 1ª a pessoa escreve uma informação

    - na 2ª, de acordo com a informação da 1ªcoluna, a fórmula da o resultado "Atrasado" "Concluído" "em andamento" "adiado" etc...

    - na 3ª coluna tem a formatação condicional, que muda de cor de acordo com o resultado da 2ª coluna

    o problema é que pra fazer a 3ª coluna mudar de cor, eu preciso ativar a célula da 2ª coluna (dando um F2 e depois enter)....mas essa coluna precisa ficar oculta, sem que o usuário saiba que ela existe....

    a macro ta assim:

    Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Range("m28:m200")) Is Nothing Then
       
     
        Select Case Target
          Case "Concluído"
            Target.Offset(0, 1).Font.Color = RGB(51, 51, 255)
        
            Case "Atrasado"
            Target.Offset(0, 1).Font.Color = RGB(255, 0, 0)
           
            Case "Em andamento - no prazo"
            Target.Offset(0, 1).Font.Color = RGB(51, 204, 0)
           
            Case "Em andamento - risco de atraso"
            Target.Offset(0, 1).Font.Color = RGB(255, 255, 51)
           
            Case "Não Iniciado"
            Target.Offset(0, 1).Font.Color = RGB(153, 153, 153)
           
            Case Else
            Target.Offset(0, 1).Font.Color = RGB(0, 0, 0)
           
        End Select
      End If
    End Sub

     

    se puder me dar mais essa ajuda, agradeço muito!

    Abs

    quarta-feira, 15 de setembro de 2010 18:09
  • Altere o evento, de Worksheet_Change para o evento

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    End Sub

    Este evento fica em Esta_Pasta_de_Trabalho

    Teste ai e qqer coisa poste

    Att


    Bruno Silva Leite Office Developer officevb.blogspot.com
    quinta-feira, 16 de setembro de 2010 00:42