Mudar Cor do Dashboard com VBA – Mude com 1 Clique!

VocĂŞ sabia que Ă© possĂ­vel mudar cor do dashboard com VBA utilizando apenas 1 clique? Hoje eu vou te ensinar o passo a passo!

Caso prefira esse conteĂşdo no formato de vĂ­deo-aula, assista ao vĂ­deo abaixo!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Você sabia que tem como mudar cor do dashboard no VBA? Já imaginou você criando o seu dashboard com mudança de cor automática no VBA?

Esse é um recurso que vai aumentar o nível dos seus dashboards em Excel, pois você pode alterar para que cada seleção de informação altere as cores do seu dashboard.

Dessa forma vai ter um dashboard mais dinâmico e podendo alterar as cores de acordo com a sua seleção para ficar no padrĂŁo de cores de um produto, empresa, marca…

Vamos logo aprender como fazer essa mudança de cor do dashboard?

Primeiramente precisamos definir uma macro, que vai ser responsável por fazer as mudanças de cor tanto nas células, quanto no gráfico.

Sub mudarCor()

If Sheets("RelatĂłrio").Range("B1").Value = "TIM" Then

    Sheets("RelatĂłrio").Range("A1").Interior.ColorIndex = 5
   Sheets("RelatĂłrio").Range("A4:A6").Interior.ColorIndex = 5
   Sheets("RelatĂłrio").Range("A9:A11").Interior.ColorIndex = 5

    Sheets("RelatĂłrio").ChartObjects("Gráfico 1").Activate
   ActiveChart.ChartColor = 3
 

ElseIf Sheets("RelatĂłrio").Range("B1").Value = "Claro" Then

    Sheets("RelatĂłrio").Range("A1").Interior.ColorIndex = 46
   Sheets("RelatĂłrio").Range("A4:A6").Interior.ColorIndex = 46
   Sheets("RelatĂłrio").Range("A9:A11").Interior.ColorIndex = 46

    Sheets("RelatĂłrio").ChartObjects("Gráfico 1").Activate
   ActiveChart.ChartColor = 4
  

ElseIf Sheets("RelatĂłrio").Range("B1").Value = "Oi" Then

   Sheets("RelatĂłrio").Range("A1").Interior.ColorIndex = 44
   Sheets("RelatĂłrio").Range("A4:A6").Interior.ColorIndex = 44
    Sheets("RelatĂłrio").Range("A9:A11").Interior.ColorIndex = 44

   Sheets("RelatĂłrio").ChartObjects("Gráfico 1").Activate
    ActiveChart.ChartColor = 6

End If

Sheets("RelatĂłrio").Range("B1").Activate

End Sub

Comentários da macro mudarCor():

  • Vamos utilizar de uma estrutura If para fazer uma comparação logo no começo, vendo o que está escrito na cĂ©lula B1.
  • Caso o valor da cĂ©lula B1 seja igual a “TIM”, iremos:
    • pintar o interior da cĂ©lula A1 com a cor de Ă­ndice 5
    • pintar o interior do intervalo de A4 a A6 com a cor de Ă­ndice 5
    • pintar o interior do intervalo de A9 a A11 com a cor de Ă­ndice 5
    • ativar o gráfico de nome “Gráfico 1”
    • mudar a cor do gráfico ativo para a cor de Ă­ndice 3

Resultado caso o valor da célula B1 seja “TIM”:

Mudança de cor automática no VBA
Mudança de cor automática no VBA
  • Caso o valor da cĂ©lula B1 seja igual a “Claro”, iremos:
    • pintar o interior da cĂ©lula A1 com a cor de Ă­ndice 46
    • pintar o interior do intervalo de A4 a A6 com a cor de Ă­ndice 46
    • pintar o interior do intervalo de A9 a A11 com a cor de Ă­ndice 46
    • ativar o gráfico de nome “Gráfico 1”
    • mudar a cor do gráfico ativo para a cor de Ă­ndice 4
    ĂŤcone VBAVBA Impressionador

    Como automatizar praticamente qualquer tarefa repetitiva que você faça dentro do Excel. Aprenda a criar integrações do Excel com o PowerPoint, Word, Outlook e muito mais. Aprenda a criar automações para resolver tudo com apenas um clique em um botão. Tudo isso com uma única linguagem que junta todos esses programas.

    Começar agoraSeta para a direita
    Fundo VBATelas VBA

Resultado caso o valor da célula B1 seja “Claro”:

Como alterar cor de gráficos com VBA
Como alterar cor de gráficos com VBA
  • Caso o valor da cĂ©lula B1 seja igual a “Oi”, iremos:
    • pintar o interior da cĂ©lula A1 com a cor de Ă­ndice 44
    • pintar o interior do intervalo de A4 a A6 com a cor de Ă­ndice 44
    • pintar o interior do intervalo de A9 a A11 com a cor de Ă­ndice 44
    • ativar o gráfico de nome “Gráfico 1”
    • mudar a cor do gráfico ativo para a cor de Ă­ndice 6

Resultado caso o valor da célula B1 seja “Oi”:

Mudar Cor do Dashboard com VBA
  • ApĂłs ler qual a informação da cĂ©lula B1 e mudar a cor do dashboard, vamos ativar a cĂ©lula B1.
  • Se encerra a nossa macro mudarCor

Em segundo lugar vamos ter que definir/usar um evento de alteração da aba “Relatório”.

Um evento no VBA é quando algum acontecimento é usado como gatilho para disparar uma ação. Um evento change no VBA diz respeito a mudança de alguma célula na aba em questão.

O gatilho, nesse caso será a mudança em alguma célula da aba “Relatório”. Mas não será qualquer célula, será a célula “B1”, que contém as marcas das operadoras, porque elas que vão configurar as cores do nosso dashboard.

A ação será o funcionamento do nosso código programado anteriormente: a sub mudarCor.

Observe abaixo que o evento será um tipo de sub, mas não ficará dentro de um módulo:

Mudar Cor do Dashboard com VBA
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Row = 1 And Target.Column = 2 Then
   Call mudarCor
End If

End Sub

Comentários a respeito do evento de mudança na aba (Worksheet_Change):

  • Configurar-se-á a sub de change (mudança) na aba (Worksheet) “RelatĂłrio”, de forma que a cĂ©lula que foi mais recentemente alterada será considerada o Target (alvo, em portuguĂŞs)
  • Se o Target estiver na 1ÂŞ linha, e na 2ÂŞ coluna, ou seja, for a cĂ©lula B1, entĂŁo o cĂłdigo mudarCor vai ser chamado (call, em inglĂŞs) a funcionar
  • Caso nĂŁo seja a cĂ©lula B1 a ser alterada, nada será feito
  • E se encerra o evento

ConclusĂŁo de Mudar Cor do Dashboard com VBA

Nessa aula você aprendeu como alterar cor de células com VBA para alterar o fundo das células e claro, como alterar cor de gráficos com VBA.

Você também lidou com:

  • Estrutura If
  • Eventos no VBA
  • Evento Change

Já imaginou ter os seus gráficos com padrão de cores alterado de acordo com alguma opção escolhida pelo usuário da sua planilha? Irado, não é mesmo? Então se perdeu algum detalhe, volte o vídeo e releia os passos descritos aqui!

Até o próximo post! Fique ligado no nosso canal do Youtube para mais conteúdo de Excel, VBA e Power BI! Um abraço!

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um Minicurso Gratuito?