Neste artigo você aprenderá como alterar o eixo y do gráfico no Excel utilizando VBA para ajustar os valores de máximo e mínimo no gráfico e também as Unidades.
Não é incomum a necessidade de termos alterar o eixo Y manualmente para ajustar a visualização do gráfico.
Dependendo o tipo de gráfico e a diferença do menor e do maior valor nós podemos ter uma visualização não muito adequada.
Veja o exemplo abaixo.
No primeiro gráfico, com fundo branco, nós temos a variação entre R$ 4,00 e R$ 13,00, que foi calculada automaticamente pelo Excel.
E no gráfico escuro temos o mesmo gráfico com ajustes com relação ao Eixo Y.
É nítido que a leitura do gráfico abaixo é muito mais fácil do que a leitura do primeiro gráfico.
O problema é que fazendo manualmente em um gráfico que muda com frequência, você terá que ajustar manualmente toda vez.
Veja como fazer manualmente e em seguida como fazer isto automaticamente.
Alterar o Máximo e Mínimo do Eixo Y do Excel Manualmente
Clique sobre o eixo Y com o botão direito.
É exibida na direita as configurações diversas que podemos aplicar no eixo Y. Iremos focar nas configurações de Opções de Eixo: Mínimo e Máximo.
Veja que ao lado das opções temos escrito Automático.
Assim, os valores automaticamente são automaticamente preenchidos quanto ao mínimo, máximo, unidades principal e secundária também.
Caso queira mudar estas unidades que foram calculadas, como no exemplo abaixo, temos 0,0 e 14,0, clique sobre o valor e altere.
O eixo Y do gráfico terá seus valores de máximo e mínimo alterados conforme digitou.
O resultado que temos é então um gráfico mais ajustado que permite uma melhor leitura das informações.
Proporção do Eixo Y no Gráfico
Um ponto importante a considerar quando alteramos o valor mínimo do eixo Y é a proporção.
A proporção seria termos por exemplo, um valor de uma série do gráfico de 10.000 e outro valor de 30.000, usando a configuração normal teríamos então uma série 3x maior do que a outra.
O mesmo não ocorre quando não iniciamos o nosso gráfico do zero.
Veja no exemplo abaixo aonde temos o menor valor de 8.100 e o maior de 20.200.
O valor de 20.200 é 249% maior do que 8.100, no entanto, o gráfico demonstra uma proporção visual de mais de 600%.
Por isso, é muito importante que ao alterar o eixo Y com relação ao valor mínimo, você tenha em mente que a proporção muda imediatamente.
A proporção só fica correta partindo do zero.
Mas como pudemos ver no começo, é necessário muitas vezes que o eixo Y seja alterado, para que o gráfico fique melhor visualmente ou até mesmo possa ser útil.
Veja na próxima sessão como alterar automaticamente o eixo Y no gráfico do Excel usando VBA.
Alterar o Eixo Y do Gráfico Excel Automaticamente com VBA
Para alterar o eixo Y do gráfico automaticamente nós podemos usar o VBA no Excel.
O VBA é uma linguagem de programação disponível no pacote Office e que pode ser usada em situações que precise para automatizar um processo por exemplo.
O primeiro passo é habilitar as macros no Excel. Siga este procedimento para habilitá-las: Habilitar macros no Excel
Agora pressione ALT+F11 ou na guia Desenvolvedor clique no botão Visual Basic, isso fará com que seja aberto o ambiente de programação.
Clique então em Inserir->Módulo e no módulo criado adicione o seguinte código:
Sub lsAtualizarEixo()
On Error Resume Next
ActiveSheet.ChartObjects("gvendas").Activate
ActiveChart.Axes(xlValue).MinimumScale = WorksheetFunction.Round(WorksheetFunction.Min(ActiveSheet.Range("tVendas[Valor]")) * 0.8, -2)
ActiveChart.Axes(xlValue).MaximumScale = WorksheetFunction.Round(WorksheetFunction.Max(ActiveSheet.Range("tVendas[Valor]")) * 1.2, -2)
End Sub
No código substitua as seguintes partes:
- gvendas = Neste ponto é aonde você tem o nome do seu gráfico, para saber o nome dele ou mudar clique sobre o gráfico e na caixa de nome pegue este nome, coloque entre aspas duplas como no exemplo.
- tVendas[Valor] = Aqui é o intervalo de valores do gráfico que iremos utilizar como base para o cálculo do menor e maior valor. Aqui usamos um intervalo de tabela, mas pode colocar também o intervalo da planilha, como por exemplo: F10:F28 ou senão o intervalo da sua tabela.
Entenda o código:
- On Error Resume Next: Se ocorrer um erro passar para a próxima etapa.
- ActiveSheet.ChartObjects(“gvendas”).Activate: Na planilha atual, seleciona o gráfico gvendas e o torna ativo.
- ActiveChart.Axes(xlValue).MinimumScale = WorksheetFunction.Round(WorksheetFunction.Min(ActiveSheet.Range(“tVendas[Valor]”)) * 0.8, -2): Nesta linha de código é passado ao campo de mínimo valor do eixo Y o cálculo de valor mínimo usando a função MÍN do Excel e a função ARREDONDAR. Este valor é então o maior valor da série de dados do gráfico multiplicado por 0,8, ou seja 80% do maior valor para que caiba ajustado no gráfico.
- ActiveChart.Axes(xlValue).MaximumScale = WorksheetFunction.Round(WorksheetFunction.Max(ActiveSheet.Range(“tVendas[Valor]”)) * 1.2, -2): Nesta linha de código é passado ao campo de mínimo valor do eixo Y o cálculo de valor máximo usando a função MÁX do Excel e a função ARREDONDAR. Este valor é então o maior valor da série de dados do gráfico multiplicado por 1,2, ou seja 120% do maior valor para que caiba ajustado no gráfico.
Nas linhas de atualização de mínimo e máximo você também pode alterar para não usar cálculos, mas sim usar dados de células preenchidas manualmente e atualizar com dados destas células.
Neste caso substitua o cálculo por ActiveSheet.Range(“A10”).value por exemplo. Substituindo A10 pela célula com o valor.
Para acionar este código pressione F5, e veja que o gráfico é alterado conforme o eixo Y.
Feche o Visual Basic e volte ao Excel.
Outra forma de atualizar estes dados é criar um botão ou imagem na planilha.
Desenhe uma imagem e clique com o botão direito sobre ela e selecione a opção Atribuir Macro.
Selecione a macro lsAtualizarEixo, agora ao clicar neste botão o eixo Y será atualizado com os cálculos dos dados atuais.
Download da Planilha Exemplo
Realize o download da planilha de atualização de eixo Y do gráfico deste artigo no botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.