Excel VBA Evento WorkSheet_Change Selecionar Cores – M1 – Aula 95 – 62
Curso Completo sobre Evento WorkSheet_Change Selecionar Cores com Tutoriais e Exercicios de Planilhas de Fixação para treinamento e Aprendizado de Como lidar com os Eventos de Planilhas explicados em detalhes passo a passo no vba macros.

Faça o Download do Exemplo de Planilha Excel VBA Evento WorkSheet_Change Selecionar Cores
Excel VBA Evento WorkSheet_Change Selecionar Cores – M1 – Aula 95 – 62.xlsm
Curso Excel VBA – Aula 95 (Parte 62): Evento Worksheet_Change para selecionar cores automaticamente
Portanto, nesta aula do Curso Completo de Excel VBA, será mostrado como o evento Worksheet_Change pode ser utilizado para aplicar cores automaticamente em células com base no conteúdo digitado.
Tendo em vista, a técnica é útil em relatórios, controles financeiros, planilhas de status e dashboards que dependem de marcação visual rápida e consistente.
Objetivo da aula
- Meta: por fim, ennsinar a configurar regras de cores disparadas pelo evento Worksheet_Change.
- Benefício: Padronização visual imediata sem intervenção manual.
- Aplicações: Status, categorias, níveis de prioridade e faixas de valores.
Quando usar Worksheet_Change para cores
- Interatividade imediata: Assim que você altera o valor, o Excel aplica a cor automaticamente e garante resposta instantânea.
- Consistência visual: Além disso, você centraliza as regras e elimina discrepâncias, mantendo a padronização.
- Produtividade: Consequentemente, você reduz o tempo gasto com formatações repetitivas e aumenta a eficiência do trabalho.
- Integração: Por fim, você combina o recurso com validação de dados, listas suspensas ou fluxos de auditoria e amplia sua utilidade.
- .
Planejamento das regras de cores
- Mapeamento de valores: Defina claramente quais textos/valores geram quais cores.
- Escopo: Decida o intervalo monitorado (ex.: B2:B200).
- Prioridade: Se houver múltiplas regras, defina ordem e exclusões.
- Reversão: Estabeleça comportamento para células apagadas ou valores fora do padrão.
Exemplo prático 1: cores por texto de status
Código liberado na area de membros
— B2:B200 com “Pago”, “Pendente”, “Atrasado”
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, cel As Range
Set rng = Me.Range(x)
If fInter(Target, rng) Is vbYes Then Exit Sub
Application.EnableEvents = False
For Each celx In x(t, rng)
With cel
🔑 Área de Membros com conteúdo exclusivo
Select Case UCase(x(.Value))
Case "PAGO"
🔑 Área de Membros com conteúdo exclusivo
Case "PENDENTE"
🔑 Área de Membros com conteúdo exclusivo
Case "ATRASADO"
🔑 Área de Membros com conteúdo exclusivo
Case Else
🔑 Área de Membros com conteúdo exclusivo
' Mantém padrão quando não há match
End Select
End With
Next cel
Application.EnableEvents = True
End Sub
- Gatilho: O evento dispara ao editar B2:B200.
- Padrão visual: Verde/Branco para “Pago”, Amarelo/Preto para “Pendente”, Vermelho/Branco para “Atrasado”.
- Robustez: Uso de UCase e Trim para evitar problemas com caixa e espaços.
Exemplo prático 2: cores por faixa de valor
Código — C2:C200 com cores por valor numérico
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, cel As Range, v As Double
Set rng = Me.Range(x)
If rInter(Target, x) Is vbyes Then Exit Sub
Application.EnableEvents = False
For Each cel In Intersect(x,y)
🔑 Área de Membros com conteúdo exclusivo
If rc(cels.Value) Then
🔑 Área de Membros com conteúdo exclusivo
Select Case v
Case Is < 0
🔑 Área de Membros com conteúdo exclusivo ' vermelho suave
Case 0 To 1000
' verde suave
🔑 Área de Membros com conteúdo exclusivo
Case Is > 1000
' amarelo suave
🔑 Área de Membros com conteúdo exclusivo
End Select
End If
Next cel
Application.EnableEvents = True
End Sub
- Faixas: Negativos, até 1000, acima de 1000.
- Estética: RGB usado para tons suaves legíveis.
- Validação: IsNumeric garante que apenas números recebam a regra.
Boas práticas e cuidados
- Desativar eventos: Use Application.EnableEvents = False durante alterações para evitar loops.
- Limpar estado: Sempre redefina cor e fonte antes de aplicar novas regras.
- Desempenho: Trabalhe com Intersect(Target, Intervalo) para reduzir processamento.
- Conflitos: Evite sobreposição de regras em múltiplos handlers do mesmo evento.
- Manutenção: Centralize o mapeamento de cores/valores; documente exceções.
Variações úteis
- Listas validadas: Combine com Validação de Dados para limitar entradas e garantir correspondência exata.
- Mensagens de orientação:
- Dica: Use ToolTips em Comentários/Notes ou Data Validation Input Message para orientar o usuário sobre valores aceitos.
- Regras por múltiplas colunas:
- Estratégia: Monitore faixas distintas (ex.: status em B, prioridade em D) e aplique formatação condicional via VBA conforme a coluna.
Debug e testes
- Cenários mínimos: Teste células vazias, espaços extras, caixa alta/baixa e valores inválidos.
- Tabelas dinâmicas: Em ListObjects (tabelas), valide se o evento deve considerar linhas adicionadas.
- Proteção de planilha: Se houver proteção, habilite AllowFormattingCells ou remova proteção temporariamente dentro do evento (com cautela).
Exercícios de fixação
- Status personalizado:
- Tarefa: Adapte o Exemplo 1 para aceitar “Em análise” (cor azul, fonte branca).
- Objetivo: Ampliar o mapeamento de texto-cor.
- Escalas de risco:
- Tarefa: No intervalo D2:D200, aplique três níveis de cor com base em percentuais: <10% (verde), 10–30% (amarelo), >30% (vermelho).
- Objetivo: Treinar comparação numérica e legibilidade.
- Reset visual:
- Tarefa: Ao apagar o conteúdo, remova a cor e retorne fonte padrão.
- Objetivo: Garantir reversão limpa.
- Desempenho:
- Tarefa: Reescreva seu handler para processar apenas Target.Cells em loop, evitando varreduras completas.
- Objetivo: Otimização em entradas múltiplas (colar valores).
Checklist rápido para implementação
- Intervalo monitorado: Definido e documentado.
- Regras de cor: Mapeadas com Select Case.
- Eventos desativados: Envolvidos por EnableEvents.
- Reversão padrão: Aplicada para vazio/valor fora do padrão.
- Testes básicos: Espaços, caixa, valores inválidos, colagem múltipla.
Conclusão
- Essência: Worksheet_Change permite automação imediata de formatação por cor baseada em conteúdo.
- Resultado: Planilhas mais claras, confiáveis e rápidas de operar.
- Próximo passo: Integrar com validação de dados e logs de auditoria para rastreabilidade.
Recursos complementares
- Ideias de expansão:
- Logs de alteração: Registrar data/hora e usuário em planilha de auditoria quando uma cor crítica (ex.: “Atrasado”) for aplicada.
- Padrões corporativos: Extrair paleta de cores da identidade visual e aplicar via constantes RGB compartilhadas em um módulo.
Incentivo ao Estudo e à Sabedoria
Queridos alunos,
Parabéns por mais uma aula concluída na nossa jornada de aprendizado em Excel VBA! Assim, cada etapa vencida fortalece ainda mais o caminho que está sendo trilhado. Continuar nos estudos é, portanto, um caminho de luz e sabedoria, e vocês estão no trilho certo para um futuro brilhante.
Além disso, o estudo de lógica e programação não só aprimora nossas habilidades técnicas, mas também nos ensina a pensar de maneira estruturada, a resolver problemas com criatividade e, consequentemente, a encontrar soluções inovadoras. Dessa forma, esses conhecimentos tornam-se fundamentais não apenas para o nosso crescimento profissional, como também para o nosso desenvolvimento pessoal.
Por outro lado, a busca pelo conhecimento é um dom de Deus, e, por isso, cada passo dado nessa jornada nos aproxima mais da verdadeira sabedoria. Ao mesmo tempo, o autoconhecimento e a busca por entender melhor o mundo ao nosso redor nos tornam pessoas mais conscientes e, assim, preparadas para enfrentar os desafios da vida.
Alunos Queridos, Fiz esses procedimentos em Excel VBA usando o evento Worksheet_Change Selecionar Cores para seu treinamento. Portanto, copie e cole na sua folha de código da planilha e veja os resultados. Por fim, desejo que cada prática seja uma oportunidade de crescimento. Fiquem com Deus, Expedito Marcondes.
Complemento: 10 procedimentos possíveis com Worksheet_Change para selecionar cores
- Se o valor for “Pago”, então a célula pode ser destacada em verde.
- Caso o valor seja “Pendente”, a célula pode ser marcada em amarelo.
- Se o valor for “Atrasado”, por exemplo, a célula pode ser colorida em vermelho.
- Além disso, valores negativos podem ser destacados em vermelho claro.
- Por outro lado, valores positivos podem ser destacados em azul.
- Sempre que uma célula for apagada, a cor pode ser removida.
- Assim, intervalos específicos podem ser monitorados para aplicar cores automaticamente.
- Consequentemente, categorias diferentes podem receber cores distintas.
- Dessa forma, relatórios ficam mais visuais e fáceis de interpretar.
- Por fim, a lógica pode ser expandida para múltiplas colunas e condições.
- ✅Cor de Fundo alterada ao digitar algo em célula no excel vba:
Private Sub Worksheet_Change(ByVal Target As Range) If Not rFunction( t, Me.celulas(Apg)) Is c Then 🔑 Área de Membros com conteúdo exclusivo End If End Sub - ✅Cor da Fonte sendo alterada em tempo real com a digitação:
Private Sub Worksheet_Change(ByVal Target As Range) If Not ExFunction(t, Me.RangeAltFunction()) Is r Then 🔑 Área de Membros com conteúdo exclusivo End If End Sub - ✅Cor de Fundo entre Linhas alternando cores ao digitar na planilha excel:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.noRow rCor = 0 Then 🔑 Área de Membros com conteúdo exclusivo Else 🔑 Área de Membros com conteúdo exclusivo End If End Sub - ✅Realçar Células com Valores Específicos:
vba
Private Sub Worksheet_Change(ByVal Target As Range) If Not rFunction(nT, Me.UnterFunction) Is Nx Then If Target.Value > x Then 🔑 Área de Membros com conteúdo exclusivo Else 🔑 Área de Membros com conteúdo exclusivo End If End If End Sub - ✅Células Vazias colorir enquanto digita na celula dependendo do criterio excel vba planilha:
vba
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Value = "" Then 🔑 Área de Membros com conteúdo exclusivo End If End Sub - ✅Mudar Cor Baseada em Texto:
vba
Private Sub Worksheet_Change(ByVal Target As Range) If Not rColumn(t, Me.Row) Is vbYes Then If Target.Value = "Urgente" Then 🔑 Área de Membros com conteúdo exclusivo Else 🔑 Área de Membros com conteúdo exclusivo End If End If End Sub - ✅Formatar Data Específica enquanto digita em célula especifica na planilha excel:
vba
Private Sub Worksheet_Change(ByVal Target As Range) If Not InterFunction(x, Me.Round.val) Is vbyes Then If isPalavra(x) Then 🔑 Área de Membros com conteúdo exclusivo End If End If End Sub - ✅Realçar Máximo e Mínimo na celula excel ao digitar evento :
vba
Private Sub Worksheet_Change(ByVal Target As Range) Dim maximoValor As Double Dim mininomoValor As Double If Not InterS(Target, Me.xRange) Is vbYes Then maxValue = 🔑 Área de Membros com conteúdo exclusivo minValue = 🔑 Área de Membros com conteúdo exclusivo If Target.Value = maxValue Then Target.Interior.Color = 🔑 Área de Membros com conteúdo exclusivo ElseIf x = minValue Then Target.x =🔑 Área de Membros com conteúdo exclusivo End If End If End Sub - ✅Realçar Linhas Inteiras quando corresponder a um criterio ao digitar em celula no excel automaticamente com vba macros procedimento evento change:
vba
Private Sub Worksheet_Change(ByVal Target As Range) If Not fIntx(Target, Me.Range(x)) Is vbYes Then 🔑 Área de Membros com conteúdo exclusivo End If End Sub - ✅Alterne Cor de Colunas enquanto digita em celulas na planilha excel automaticamente evento change ao Escrever:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not rInterfunction(t, Me.rFunction(x)) Is Nothing Then
If Target.row = 0 Then
🔑 Área de Membros com conteúdo exclusivo
Else
🔑 Área de Membros com conteúdo exclusivo
End If
End If
End Sub
Agradecimentos
Agradeço imensamente pelo esforço e dedicação de todos. Continuem trilhando o caminho do conhecimento e da sabedoria, pois essa é a estrada de luz que nos leva a um futuro brilhante e abençoado.
Com gratidão e carinho,
Prof. Expedito Marcondes
Tire Dúvidas: suportecursovba@gmail.com
Se precisar de mais alguma coisa, estou à disposição para ajudar!