Mudar cor da célula ao clicar Excel
Neste artigo é demonstrado como mudar a cor da célula ao clicar no Excel.
O objetivo é destacar os dados para facilitar a leitura dos dados, para isso é realizada uma pequena automação que você poderá seguir passo-a-passo no Excel com VBA.
Você pode se interessar também por: Agilizar leitura de comentários no Excel
No exemplo da imagem acima, foi clicado na célula F9 e a linha 9 foi toda colorida, ao mudar a seleção para outro intervalo, esta célula automaticamente volta para a cor branca e a nova seleção fica colorida com esta cor verde.
Para fazer a implementação deste código siga os passos seguintes, entendendo também o código. Caso tenha dúvidas ou queira muito mais detalhes assista o vídeo no topo deste artigo.
Mudar a cor da célula ao clicar Excel
Esta rotina pode ser copiada e aplicada em qualquer planilha, bastando copiar o código e fazer pequenas adaptações como mudar a cor ou os limites da planilha.
- Abra a planilha aonde quer implementar a funcionalidade de colorir a linha ou as células selecionadas.
- Com a planilha aberta pressione CTRL+F11 ou clique na guia Desenvolvedor e no botão Visual Basic.
- Na tela do VBE (Visual Basic Editor), clique na planilha que está trabalhando, na árvore de objetos á esquerda e dê um duplo clique.
- Selecione então o objeto Worksheet e o evento Selection Change na janela de codificação á direita da árvore, conforme a imagem nos campos destacados em amarelo.
- Na janela do código cole o seguinte código, pode inclusive substituir tudo que há na janela de código, este código já funciona diretamente.
'Guardar o intervalo anterior Dim lTarget As Range 'Ao mudar a célula fazer Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Se a linha for maior do que 4 fazer If Target.Row >= 4 Then 'Limpar o intervalo anterior que foi selecionado If Not lTarget Is Nothing Then 'Mudar a cor para branco do intervalo anterior lTarget.EntireRow.Interior.ColorIndex = 0 End If 'Colorir com verde o intervalo atual Target.EntireRow.Interior.Color = 9359529 'Guardar o intervalo selecionado Set lTarget = Target End If End Sub
O código está devidamente comentado para facilitar os seus ajustes na cor ou ainda no número da linha á partir da qual será colorida a linha.
Caso queira colorir apenas o intervalo selecionado, e não a linha inteira, use o código abaixo.
'Guardar o intervalo anterior Dim lTarget As Range 'Ao mudar a célula fazer Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Se a linha for maior do que 4 fazer If Target.Row >= 4 Then 'Limpar o intervalo anterior que foi selecionado If Not lTarget Is Nothing Then 'Mudar a cor para branco do intervalo anterior lTarget.Interior.ColorIndex = 0 End If 'Colorir com verde o intervalo atual Target.Interior.Color = 9359529 'Guardar o intervalo selecionado Set lTarget = Target End If End Sub
Veja o resultado deste segundo código:
Baixe a planilhaAbraço
Marcos Rieper
Veja mais artigos sobre VBA em: https://www.guiadoexcel.com.br/vba/
Curso Excel Completo – Do Básico ao VBA
Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo: