Ir ao conteúdo

Excel Formatação condicional para mudar a cor durante 3 dias.


Ir à solução Resolvido por Edson Luiz Branco,

Posts recomendados

Postado

Boa tarde!

 

Na célula A1, tenho a fórmula =hoje()

Solicito a sua ajuda, para elaborar um procedimento no VBA, ou formatação condicional, de modo que as células B6:M6, deverão mudar de cor a cada três dias.
Da seguinte maneira: três dias verde, três dias azul, três dias vermelho e três dias amarelo.
Após os três dias da cor amarelo, reiniciar o procedimento.

Grato.

Postado

Com VBA pensei em algum assim, para pegar a cor comparei a data escolhida como inicial com a atual. E com uma função que recebe esses dois argumentos retornei a cor de acordo com o dia, p.ex,

Function Cor(DataInicial As Long, DataAtual As Long) As Long
    Dim Cores As Variant
    
    Cores = Array( _
        Array(DataInicial, vbGreen), _
        Array(DataInicial + 3, vbBlue), _
        Array(DataInicial + 6, vbRed), _
        Array(DataInicial + 9, vbYellow) _
    )
    Cor = WorksheetFunction.VLookup(DataAtual, Cores, 2, True)
End Function

 

Para colorir a planilha outra macro pode ser usada com o controle das datas. Fiz isso usando uma célula para guardar a data inicial (A1) e outra com a fórmula HOJE (A2) e aí ficou assim,

Sub AtribuiCor()
    If [A1] + 9 < [A2] Or [A1] = "" Then
        [A1] = [A2]
    End If
    [B6:M6].Interior.Color = Cor([A1], [A2])
End Sub

 

Essa Sub deve ser chamada no evento que achar melhor para colorir a planilha, pode ser Open da planilha, Activate, etc.

  • Curtir 1
Postado

Bom dia, Midori

Muito obrigado, por dispor de seus conhecimentos.

 

Não entendo nada de VBA, como faço para executar o código?

Ou se possível o arquivo com o código instalado.

 

Grato.

  • Solução
Postado

Boa tarde colegas.

 

você tb pode usar Formatação Condicional para essa finalidade:

 

Defina 4 regras de Formatação Condicional tipo Fórmula, todas aplicadas ao intervalo $B$6:$M$6:

 

  • Para a cor VERDE:             =MOD(QUOCIENTE($A$1+1;3);4)=0
  • Para a cor AZUL:               =MOD(QUOCIENTE($A$1+1;3);4)=1
  • Para a cor VERMELHO:    =MOD(QUOCIENTE($A$1+1;3);4)=2
  • Para a cor AMARELO:       =MOD(QUOCIENTE($A$1+1;3);4)=3

 

Significado dos outros termos das fórmulas:

 

  • Ajusta para que o primeiro valor comece na cor certa    =MOD(QUOCIENTE($A$1+1;3);4)=0
  • De 3 em 3 dias:                                                                       =MOD(QUOCIENTE($A$1+1;3);4)=0
  • 4 valores de retorno = 4 cores                                             =MOD(QUOCIENTE($A$1+1;3);4)=0
     

DúvidaGeneciCdoHFormataçãoCondicional.xlsx

  • Curtir 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!