Escolar Documentos
Profissional Documentos
Cultura Documentos
MANUALdeMACROSemEXCEL Graficos
MANUALdeMACROSemEXCEL Graficos
Grfico no Excel
Bem vindos amigos a esta parte do Manual de Macros em Excel e Visual Basic, hoje nos toca
a aprender mais sobre este interessante manual de Macros, no qual trabalharemos com grficos em
Excel, veremos como se pode gerar um grfico a partir de um cdigo gerado e alterado por ns
mesmos.
Construa numa nova pasta, na Plan1 duas colunas de dados como mostra a figura abaixo
Se observarmos os dados que vamos graficar nos damos conta que na coluna A se encontram
os valores dos eixos (X) e na coluna B os valores da srie (Y), estes dados so necessrios para
efetuar um grfico que poder ficar assim:
Bertolo
Este grfico mostra as idades de 5 pessoas, os nomes esto no eixo valores e a idade no eixo sries,
agora veremos como se pode detectar estes dados por meio de uma Macro
Ao graficarem estes dados gerou-se o seguinte cdigo:
Sub Macro1()
Range("A5:B10").Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Plan1").Range("A5:B10"), _
PlotBy:= xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Plan1"
End Sub
1. A primeira linha indica o range donde esto os dados, eixos de valores e series de valores,
2. A segunda linha indica que se agrega um grfico
Bertolo
40
20
0
Liliana
Beth
Dani
Rosa
Joana
ActiveChart.ChartType = xlColumnClustered
Idade
Joana
Dani
Idade
Liliana
0
20
40
60
80
ActiveChart.ChartType = xlBarClustered
Idade
80
60
40
Idade
20
0
Liliana
Beth
Dani
Rosa
ActiveChart.ChartType = xlLineMarkers
Joana
Bertolo
Idade
Liliana
Beth
Dani
Rosa
Joana
ActiveChart.ChartType = xlPie
Idade
80
60
40
Idade
20
0
0
ActiveChart.ChartType = xlXYScatter
Idade
80
60
40
Idade
20
0
Liliana
Beth
Dani
Rosa
ActiveChart.ChartType = xlAreaStacked
Joana
Bertolo
Idade
Liliana
Beth
Dani
Rosa
Joana
ActiveChart.ChartType = xlDoughnut
Idade
Liliana
100
Joana 50
0
Rosa
Beth
Idade
Dani
ActiveChart.ChartType = xlRadarMarkers
Idade
80
60
40
20
0
Joana
Dani
Liliana
Idade
ActiveChart.ChartType = xlCylinderColClustered
Bertolo
Idade
80
60
40
20
0
Joana
Dani
Liliana
Idade
ActiveChart.ChartType = xlConeColClustered
Idade
80
60
40
20
0
Joana
Dani
Liliana
Idade
ActiveChart.ChartType = xlPyramidColClustered
Bertolo
Se agregares ao final do cdigo principal alguma linha do tipo de grfico que gostas, este se
ativar, por exemplo:
Sub Macro1()
Range("A5:B10").Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Plan1").Range("A5:B10"),
PlotBy:= xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Plan1"
ActiveChart.ChartType = xlPyramidColClustered
End Sub
Este cdigo se pode programar num boto ou qualquer outro controle do Visual Basic.
A seguir se mostra como se acomodam os dados Lnha 4:
Bertolo
70
60
50
40
30
20
10
0
Liliana
Beth
Dani
Rosa
Joana
Idade
Idade
20
0
Liliana
Beth
Dani
Rosa
Joana
Bertolo
A linha 5 fala de que se o grfico ficar na mesma folha ou simplemente pega uma folha
separada para ela, por exemplo:
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Grfico 1"
Esta linha indica que o grfico tenha sua prpria folha e que seu nome seja Grfico 1.
Neste exemplo executo um cdigo com cada uma das caractersticas explicadas nas 5 linhas.
Range("A5:B10").Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Plan1").Range("A5:B10"),
PlotBy:= _xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Plan1"
ActiveChart.ChartType = xlPyramidColClustered
ActiveChart.SetSourceData Source:=Sheets("Plan1").Range("A5:B10"),
PlotBy:= xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Grfico 1"
Tipo de Grafico
Como se acomodam os dados
Como se mostra o grfico, neste caso em uma s folha
Bertolo
Elabore o seguinte formulrio com o seguinte cdigo, para observar os diferentes tipos de
grficos e a forma em que se acomodam os dados:
10
Bertolo
Desenhe duas Caixas de Listagens (Listbox) e um Boto e cole o cdigo seguinte dentro do
formulrio:
Private Sub CommandButton1_Click()
Rem este cdigo gera o Grafico na plan1
Range("A5:B10").Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Plan1").Range("A5:B10"),
PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Plan1"
Rem agregue os diferentes tipos de grficos Listbox1
ListBox1.AddItem "Colunas Agrupadas"
ListBox1.AddItem "Barras Agrupadas"
ListBox1.AddItem "Linhas com Marcadores"
ListBox1.AddItem "Pizza"
ListBox1.AddItem "Disperso Somente com Marcadores"
ListBox1.AddItem "reas Empilhadas"
ListBox1.AddItem "Rosca"
ListBox1.AddItem "Radar com Marcadores"
ListBox1.AddItem "Cilindros Agrupados"
ListBox1.AddItem "Cones Agrupados"
ListBox1.AddItem "Pirmides Agrupadas"
Rem Agregue as diferentes formas de acomodar os dados Listbox2
ListBox2.AddItem "Linha"
ListBox2.AddItem "Coluna"
End Sub
11
Bertolo
12
Bertolo
13