Gráfico com zoom desloc e exibir e ocultar rótulos no Excel

Gráfico com zoom desloc e exibir e ocultar rótulos no Excel

Neste artigo temos um exemplo de gráfico com zoom utilizando desloc e como exibir e ocultar rótulos em gráficos no Excel.

O gráfico é movimentado e redimensionado á partir de duas barras de rolagem e os rótulos de dados do gráfico são ocultos e exibidos utilizando para isso VBA no Excel conforme pode ser visto no gif abaixo.

Gráfico com zoom desloc

Veja mais detalhes abaixo da planihla e ao final do artigo como fazer o download.

BASE DE DADOS

A base de dados utilizada contém uma data e horário na coluna Data e uma coliuna simples com valores aleatórios.

Gráfico com zoom desloc e exibir e ocultar rótulos

AJUSTE AUTOMÁTICO DO TAMANHO DO GRÁFICO

Para que o gráfico seja ajustado automaticamente pelas barras de rolagem foram criados dois Nomes Definidos no Excel, um para a data e outro para o valor.

Para o intervalo de Data foi criada a fórmula abaixo no Gerenciador de Nomes.

=DESLOC(Planilha1!$A$2;Planilha1!$F$1;0;Planilha1!$G$2;1)

E para o intervalo de Valor foi criada a fórmula seguinte que é bastante parecida com a anterior.

=DESLOC(Planilha1!$B$2;Planilha1!$F$1;0;Planilha1!$G$2;1)

Sendo que os parâmetros passados á função são os DESLOC(REF, LINS, COLS, [ALTURA],[LARGURA] ), temos o A2 como a primeira data na tabela de dados, o F1 como a quantidade de linhas que será deslocado para baixo, e no G2 a quantidade de linhas do intervalo. A célula F1 e a G2 são movimentadas pelas barras de rolagem.

Gráfico com zoom desloc e exibir e ocultar rótulos 6

CRIAR GRÁFICO COM ZOOM

Antes de criar um gráfico com dados á partir de um intervalo nomeado é necessário que a planilha seja salva.

No campo de valor do gráfico utilize o caminho completo do arquivo como intervalo nomeado =’Gráfico com zoom.xlsm’!Valor.Gráfico com zoom desloc e exibir e ocultar rótulos 4

De forma semelkhante para o rótulo de eixo horizontal utilizamos o intervalo nomeado =’Gráfico com zoom.xlsm’!Data. Atenção, caso não esteja salvo o gráfico irá acusar um erro e não funcionará.Gráfico com zoom desloc e exibir e ocultar rótulos 5

BARRAS DE ZOOM PARA O GRÁFICO

A primeira tarefa, caso você não tenha habilitada, é habilitar a guia Desenvolvedor.

Para isso, clique em Arquivo->Opções.

Clique em Opções e na aba Personalizar Faixa de Opções marque a opção Mostrar guia desenvolvedor na Faixa de Opções.

Habilitar guia desenvolvedor Excel 2010 2013 2016

Na Guia Desenvolvedor clicamos no botão Inserir e selecionamos a opção Barra de Rolagem

Gráfico com zoom desloc e exibir e ocultar rótulos 1

Na primeira barra de rolagem configuramos da seguinte forma.

Gráfico com zoom desloc e exibir e ocultar rótulos 2

No valor mínimo colocamos 1, pois é a quantidade de linhas que serão deslocadas no mínimo, e no valor máximo colocamos a quantidade total de linhas da nossa base de dados. Na célula F1 temos a célula de controle da quantidade de linhas que serão deslocados para baixo no intervalo.

Na outra barra temos uma configuração semelhante, apenas mudamos para a célula G1.

Gráfico com zoom desloc e exibir e ocultar rótulos 3

Na célula G2, que utilizamos nas fórmulas dos nomes definidos o cálculo de =G1-F1 para definirmos pelo intervalo nomeado a quantidade de linhas que serão exibidas no gráfico.

EXIBIR RÓTULOS DE DADOS

Como o rótulo de dados pode atrapalhar a visualização em gráficos que contém muitos dados nós fizemos um código VBA para ocultar os rótulos de dados ou exibir ao executar o código no Excel.

O código para exibir ou ocultar os rótulos de dados do gráfico é o seguinte:

 

Global lflRotulos As Boolean

Sub lsColocarLabels()

    If lflRotulos = False Then
        ActiveSheet.ChartObjects("Gráfico 5").Activate
        ActiveChart.FullSeriesCollection(1).ApplyDataLabels
        ActiveChart.FullSeriesCollection(1).DataLabels.Select
        Selection.NumberFormat = "#.##0,00"
        Range("H7").Select
        lflRotulos = True
    Else
        ActiveSheet.ChartObjects("Gráfico 5").Activate
        ActiveChart.FullSeriesCollection(1).DataLabels.Select
        Selection.Delete
        Range("H7").Select
        lflRotulos = False
    End If
End Sub

O código é executado ao clicar no botão que está linkado ao código acima.

Gráfico com zoom desloc no Excel

Baixe a planilha

Abraço

Marcos Rieper

Veja mais em guiadoexcel.com.br