none
Como fazer formatação condicional por macro?

    Question

  • Tenho uma planilha onde, no intervalo de células de k6:k4095, o usuário só pode preencher cada célula com "concluído", "em andamento", "atrasado" ou vazio.

    Quero uma macro que deixe o fundo azul quando for "concluído", verde quando for "em andamento", vermelho quando for "atrasado" e nada quando for vazio.

    Não posso usar a formatação condicional do excel essas celulas ja possuem formataçao condicional para outros fins.

     

    Alguem pode me ajudar?

    Obrigada!

    Friday, September 03, 2010 8:39 PM

Answers

  • Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("K6:K4095")) Is Nothing Then
      ActiveSheet.Unprotect Password:="SENHA AQUI"
      Select Case Target
       Case "Concluído"
        Target.Interior.Color = 15773696
       Case "Em Andamento"
        Target.Interior.Color = 5296274
       Case "Atrasado"
        Target.Interior.Color = 255
      End Select
      ActiveSheet.Protect Password:="SENHA AQUI"
     End If
    End Sub

    http://www.ambienteoffice.com.br
    Saturday, September 04, 2010 6:19 PM
    Moderator

All replies

  • Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Range("K6:K4095")) Is Nothing Then
        Select Case Target
          Case "Concluído"
            Target.Interior.Color = 15773696
          Case "Em Andamento"
            Target.Interior.Color = 5296274
          Case "Atrasado"
            Target.Interior.Color = 255
        End Select
      End If
    End Sub

    http://www.ambienteoffice.com.br
    Saturday, September 04, 2010 12:26 AM
    Moderator
  • oi felipe!

    testei a macro aqui, coloquei exatamente oq vc me mandou na parte de "esta pasta de trabalho" e nada mudou! nao sei oq acontece...se souber e puder me ajudar eu te agradeço!

     

    rebeca

    Saturday, September 04, 2010 4:24 AM
  • Não cole a macro em EstaPasta_de_trabalho. Cole na planilha em que você quer que esse efeito ocorra.
    http://www.ambienteoffice.com.br
    Saturday, September 04, 2010 11:15 AM
    Moderator
  • funcionou! muito obrigada!
    Saturday, September 04, 2010 4:08 PM
  • oi felipe, tive outro problema, a macro funciona mas quando eu protejo a planilha ela para de funcionar e da erro. o problema é que eu preciso proteger a planilha e impedir o usuário de formatar as células...eu vi que se eu desmarcar essa opçao na hora de proteger a planilha a macro funciona, mas nao posso deixar o arquivo assim...

    sera que tem como desbloquear só as celulas que vao usar a formataçao condicional na macro?

     

    obrigada, rebeca.

    Saturday, September 04, 2010 5:08 PM
  • Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("K6:K4095")) Is Nothing Then
      ActiveSheet.Unprotect Password:="SENHA AQUI"
      Select Case Target
       Case "Concluído"
        Target.Interior.Color = 15773696
       Case "Em Andamento"
        Target.Interior.Color = 5296274
       Case "Atrasado"
        Target.Interior.Color = 255
      End Select
      ActiveSheet.Protect Password:="SENHA AQUI"
     End If
    End Sub

    http://www.ambienteoffice.com.br
    Saturday, September 04, 2010 6:19 PM
    Moderator
  • funcionou! muito obrigada novamente!
    Saturday, September 04, 2010 6:35 PM
  • Encontrei esta informação numa busca de soluções pro meu caso e me surgiu uma duvida, se puderem me ajudar.

    Tenho uma situação semelhante, mas preciso que num determinado range de células, ao digitar uma letra o código saiba que quero aquela letra em determinada fonte (webdings (Simbolos) e ao digitar outra letra ele entenda que quero uma outra fonte(Arial por exemplo).

    É possivel?

    Tuesday, May 29, 2012 9:23 PM
  • Olá,

    Este tópico está encerrado.

    Abra um novo tópico com sua pergunta.


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

    Wednesday, May 30, 2012 12:34 AM
    Moderator