Abaixo, veremos dois programas em Excel VBA. Um programa percorre todos os gráficos em uma folha e transforma cada gráfico em um gráfico de pizza. O outro programa muda alguns propriedades do primeiro gráfico.
1. Crie alguns gráficos (ou baixe o arquivo Excel).
Coloque um botão de comando na planilha e adicione as seguintes linhas de código:
1. Primeiro, precisamos declarar um objeto ChartObject. O objeto ChartObject atua como um contêiner para um objeto Chart. Chamamos ChartObject cht, mas você pode usar qualquer nome.
Dim cht As ChartObject
2. A coleção ChartObjects contém todos os gráficos incorporados em uma única folha. Queremos percorrer todos os gráficos da primeira folha. Adicione o seguinte loop For Each Next.
Para cada cht nas planilhas (1) .ChartObjects
Próximo cht
3. O objeto Chart representa um gráfico em uma pasta de trabalho. Adicione a seguinte linha de código ao loop For Each Next para alterar cada gráfico para um gráfico de pizza.
cht.Chart.ChartType = xlPie
Observação: novamente, cht atua como um contêiner para o objeto Chart. Usamos a propriedade ChartType para alterar o tipo de gráfico. Usamos a constante interna xlPie para alterar cada gráfico para um gráfico de pizza.
4. Resultado quando você clica no botão de comando na planilha:
Agora vamos mudar algumas propriedades do primeiro gráfico.
Coloque outro botão de comando na planilha e adicione as seguintes linhas de código:
5. A coleção ChartObjects contém todos os gráficos incorporados em uma única folha. Adicione a seguinte linha de código para ativar o primeiro gráfico:
Planilhas (1) .ChartObjects (1) .Activate
Agora podemos nos referir a este gráfico como ActiveChart.
6. Adicione a seguinte linha de código para alterar o título do gráfico.
ActiveChart.ChartTitle.Text = "Relatório de Vendas"
7. Adicione a seguinte linha de código para mover a legenda para a parte inferior do gráfico:
ActiveChart.Legend.Position = xlBottom
8. Resultado quando você clica no botão de comando na planilha: