Alterar cor da fonte conforme valor da célula  [Resolvido]

Formatação condicional

Re: Alterar cor da fonte conforme valor da célula

Mensagempor OLDRIVG » Dom Jul 07, 2019 7:35 pm

Prezado Wagner, boa noite.

Agradeço a atenção.

O ano na coluna F não pode ser alterado. Neste ano de 2019, o ano a ser digitado na coluna F é 2018; no ano que vem, o ano a ser digitado na coluna F será 2019. E assim sucessivamente, sempre um ano a menos do atual.

Obrigado
OLDRIVG
Membro
Membro
 
Mensagens: 16
Registrado em: Sex Jun 28, 2019 11:24 am
Has thanked: 8 times
Have thanks: 0 time

{ SO_SELECT }

Re: Alterar cor da fonte conforme valor da célula

Mensagempor rlm » Seg Jul 08, 2019 10:56 am

Pelo que pude verificar a rotina do colega Wagner, está Ok com a demanda, bastando apenas retornar a cor da fonte após correção, pois a mesma continua em vermelho.
Veja se assim atende (retorno da cor e comentariosnas linhas):
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
Dim corAtual As Integer
Application.ScreenUpdating = False

If Target.Count > 1 Then
    Application.ScreenUpdating = True
    Exit Sub
End If


If Target.Column = 11 And Target.Row >= 12 Then
    CelulaAtiva = Target.Address(False, False)
    CelulaAnterior = Cells(Target.Row, Target.Column - 1).Address(False, False)
    If Range(CelulaAtiva).Value > Range(CelulaAnterior).Value Then
        corAtual = Target.Font.ColorIndex 'armazena codigo da cor na celula
        Target.Font.ColorIndex = 3  'altera cor da fonte para vermelho
        'Exibe mensagem de data maior
        MsgBox "Data Não Permitida! Insrira uma data menor ou igual a célula J, (LINHA " & Target.Row & ")", vbCritical, "DATA MAIOR"
        Target.Select 'Mantem cursor na celula com data incorreta
    Else
        Target.Font.ColorIndex = corAtual 'retorna a cor anteriormente utilizada
    End If
End If

Application.ScreenUpdating = True
End Sub
Reinaldo - RLM - Rmarco
Gostou da resposta? Clique no ícone "Positivo" da mensagem!(ao lado de citar)
Avatar do usuário
rlm
Ninja do Excel
Ninja do Excel
 
Mensagens: 283
Registrado em: Qui Out 16, 2014 12:30 pm
Has thanked: 18 times
Have thanks: 132 times

Re: Alterar cor da fonte conforme valor da célula

Mensagempor OLDRIVG » Seg Jul 08, 2019 11:29 am

Prezado rlm, bom dia.

Agradeço-lhe a atenção.
Não funcionou. Como escrevi na msg anterior, não se consegue digitar nenhuma data. Todas dão erro. Enviei um link da planilha em msg anterior a resposta do Wagner.
Agradecido
Ps.: Não estou conseguindo visualizar as msg na página normal do planilhando. Desculpe se a resposta for repetida e por estar "citando".
OLDRIVG
Membro
Membro
 
Mensagens: 16
Registrado em: Sex Jun 28, 2019 11:24 am
Has thanked: 8 times
Have thanks: 0 time

Re: Alterar cor da fonte conforme valor da célula

Mensagempor rlm » Seg Jul 08, 2019 11:37 am

Onde são digitadas as datas?
Se na coluna K em seu modelo postado no sendspace não houve qualque "rejeição"para datas inferiores ou iguais as datas na coluna J, somente acima. E com o que acrescentei ao corrigir a data a cor da celula volta a anterior utilizada
Reinaldo - RLM - Rmarco
Gostou da resposta? Clique no ícone "Positivo" da mensagem!(ao lado de citar)
Avatar do usuário
rlm
Ninja do Excel
Ninja do Excel
 
Mensagens: 283
Registrado em: Qui Out 16, 2014 12:30 pm
Has thanked: 18 times
Have thanks: 132 times

Re: Alterar cor da fonte conforme valor da célula

Mensagempor OLDRIVG » Seg Jul 08, 2019 2:08 pm

As datas são digitadas nas colunas F e K, sendo que as datas das colunas H, J e L, são produtos de formulas.

Se na cópia da planilha postada não houve qualquer rejeição, então o problema deve estar no computador no qual estou criando a planilha, na versão do Office que estou usando ou mesmo na planilha criada na qual estou implementado o código, pois aqui comigo não funciona.
Vou criar uma nova planilha e fazer o teste. Posto aqui o resultado.
Agradecido
OLDRIVG
Membro
Membro
 
Mensagens: 16
Registrado em: Sex Jun 28, 2019 11:24 am
Has thanked: 8 times
Have thanks: 0 time

Re: Alterar cor da fonte conforme valor da célula

Mensagempor wagner » Seg Jul 08, 2019 2:27 pm

OLDRIVG,

Vou repetir: Basta alterar o ano que está na sua célula F12. Acho que você não se deu nem o trabalho de verificar o ano que está lá, como eu havia falado. Pelo menos, nesse exemplo que você colou o link aqui no fórum, o ano que está registrado lá não é 2018. Não me recordo agora qual é o ano e nem tenho como acessar o arquivo agora. Salvo engano, o ano que está lá é 1818 ou coisa parecida. Assim, as outras fórmulas adicionam dias e "aparentemente" tudo que você digitar na célula K12 vai ser uma data inválida mesmo.

Fora isso, o Reinaldo também está certo. Faltou apenas voltar a colocar a fonte na cor preta quando a data estiver correta (menos que em J12).
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 5501
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 100 times
Have thanks: 2331 times

Re: Alterar cor da fonte conforme valor da célula

Mensagempor OLDRIVG » Qua Jul 10, 2019 7:55 am

Prezado Wagner, bom dia. Desculpe-me pela demora em responder.

Agradeço-lhe pela a atenção e disposição em repetir a sugestão. Entretanto, o seu "achar" que não verifiquei o ano "que está lá" está errado. Posso não ter conhecimento algum em Excel, como já escrevi no Fórum, mas ser displicente nas sugestões enviadas, por quem detém conhecimento, para soluções das dificuldades que tenho ou ignorá-las, não fazem parte do meu caráter. A minha humildade para admitir que não tenho algum conhecimento ou que tenho alguma dificuldade, seja em que área for, é do mesmo nível do seu conhecimento em Excel ou qualquer outro ramo no qual domina.

Criei nova planilha e implementei o código sugerido por você e modificado pelo companheiro RLM, mas comigo não funcionou. Estou enviando link para a referida planilha e, caso tenho algum tempo e se dispor a dar uma olhada, fico lhe grato. Sei que não fiz corretamente, pois não está funcionando. Mas como não tenho habilidade com Excel, não conseguir fazer corretamente.

Aproveitando o Tópico (desculpe-me se for contra as regras); surgiu uma nova situação para a mesma planilha: há como aprimorar o seu código para que a data a ser digitada na coluna K seja menor ou igual do que a data digitada na coluna J e maior do que a data da coluna H para que funcione em todas linhas? Algo do tipo K12<=J12 e >H12.

Link para planilha:
https://www.sendspace.com/file/3w3enq

Agradecido
OLDRIVG
Membro
Membro
 
Mensagens: 16
Registrado em: Sex Jun 28, 2019 11:24 am
Has thanked: 8 times
Have thanks: 0 time

Re: Alterar cor da fonte conforme valor da célula

Mensagempor rlm » Qua Jul 10, 2019 11:36 am

Testei/inclui a rotina conforme tópicos anteriores em sua refeita planilha e não tive problemas com rejeição de data, somente se a data não atender ao critério passado
https://www.sendspace.com/file/v7lci7
Reinaldo - RLM - Rmarco
Gostou da resposta? Clique no ícone "Positivo" da mensagem!(ao lado de citar)
Avatar do usuário
rlm
Ninja do Excel
Ninja do Excel
 
Mensagens: 283
Registrado em: Qui Out 16, 2014 12:30 pm
Has thanked: 18 times
Have thanks: 132 times

Re: Alterar cor da fonte conforme valor da célula

Mensagempor OLDRIVG » Qua Jul 10, 2019 12:52 pm

Boa Tarde, RLM.

Agradeço-lhe pela a atenção e empenho em me ajudar.

O código implementado por você funciona, desde que não aperte a tecla ESC ou após a msg de erro não apertar a tecla TAB ou ESC. Caso contrário, (teclando ESC ou TAB) a data digitada incorretamente é aceita e você continua a digitar normalmente na planilha.

Vou desistir de usar códigos para criar rotinas na planilha. Vou tentar encontrar uma forma através de Validação de Dados ou Formatação Condicional. Caso eu não consiga ou não tenha alguma ajuda, deixo a planilha sem qualquer restrição. A minha pretensão era que a planilha não permitisse qualquer erros por parte do usuário ou que os erros fossem o mínimo.

Agradeço a você, RLM, e ao Wagner pelos empenhos, sugestões e códigos enviados.
Obrigado.
OLDRIVG
Membro
Membro
 
Mensagens: 16
Registrado em: Sex Jun 28, 2019 11:24 am
Has thanked: 8 times
Have thanks: 0 time

Re: Alterar cor da fonte conforme valor da célula

Mensagempor rlm » Qua Jul 10, 2019 3:33 pm

OLDRIVG, voce não havia mencionado anteriormente o uso indevido de outras teclas, somente que qualquer data retornava erro.
Para contornar experimente:
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
Dim corAtual As Integer
Dim celulaAtiva As String, celulaAnterior As String
Dim Response
Application.ScreenUpdating = False

If Target.Count > 1 Then
    Application.ScreenUpdating = True
    Exit Sub
End If

If Target.Column = 11 And Target.Row >= 12 Then
    celulaAtiva = Target.Address(False, False)
    celulaAnterior = Cells(Target.Row, Target.Column - 1).Address(False, False)
    If Range(celulaAtiva).Value > Range(celulaAnterior).Value Then
        corAtual = Target.Font.ColorIndex 'armazena codigo da cor na celula
        Target.Font.ColorIndex = 3  'altera cor da fonte para vermelho
        'Exibe mensagem de data maior
            Response = MsgBox("Data Não Permitida! Insrira uma data menor ou igual a célula J, (LINHA " & Target.Row & ")", vbOKOnly, "DATA MAIOR")
            If Response = vbOKOnly Then    ' O usuário escolheu Sim.
                Target.Value = ""  ' Executa alguma ação.
            Else    ' O usuário escolheu Não.
               Target.Value = ""  ' Executa alguma ação.
            End If
        Target.Select 'Mantem cursor na celula com data incorreta
    Else
        Target.Font.ColorIndex = corAtual 'retorna a cor anteriormente utilizada
    End If
End If

Application.ScreenUpdating = True
End Sub

https://www.sendspace.com/file/qm62ct
Pessoalmente, em casos como sua demanda, e usuarios sem muito conhecimento de macros/códigos, prefiro e fortemente recomendo que seja aplicado com formulas ou formatação condicional e/ou uso de coluna auxiliar.
No exemplo anterior inclui uma nova planilha com uma possibilidade via condicional e auxiliar(planilha protegida senha 123)
Reinaldo - RLM - Rmarco
Gostou da resposta? Clique no ícone "Positivo" da mensagem!(ao lado de citar)
Avatar do usuário
rlm
Ninja do Excel
Ninja do Excel
 
Mensagens: 283
Registrado em: Qui Out 16, 2014 12:30 pm
Has thanked: 18 times
Have thanks: 132 times

AnteriorPróximo

Voltar para Formatação Condicional

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes