24.08.2020 Views

Programando o Excel ® Vba Para Leigos - 2ª Ed 2013 NoDRM (1)

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Capítulo 14: Exemplos de Programação em VBA 225

A seguinte macro executa a mesma função, mas funciona em todas as

planilhas de gráfico na pasta de trabalho ativa:

Sub ChartType2()

Dim cht As ChartType2

For Each cht In ActiveWorkbook.Charts

cht.Type = xlArea

Next cht

End Sub

Modificando propriedades Chart

O seguinte exemplo muda a fonte da legenda em todos os gráficos na

planilha ativa. Ele usa um loop For-Next para processar todos os

objetos ChartObject:

Sub LegendMod()

Dim cht As ChartObject

For Each cht In ActiveSheet.ChartObjects

With cht.Chart.Legend.Font

.Name = “Calibri”

.FontStyle = “Bold”

.Size = 12

End With

Next cht

End Sub

Observe que o objeto Font está contido no objeto Legend, o qual está

contido no objeto Chart, que está contido na coleção ChartObjects.

Agora você entende porque é chamada de hierarquia de objeto?

Aplicando formatação de gráfico

Este exemplo aplica vários tipos diferentes de formatação ao gráfico ativo.

Eu criei esta macro gravando minhas ações enquanto formatava um

gráfico. Depois, limpei o código gravado, removendo as linhas irrelevantes.

Sub ChartMods()

ActiveChart.Type = xlArea

ActiveChart.ChartArea.Font.Name = “Calibri”

ActiveChart.ChartArea.Font.FontStype = “Regular”

ActiveChart.ChartArea.Font.Size = 9

ActiveChart.PlotArea.Interior.ColorIndex = xlNone

ActiveChart.Aces(xlValue).TickLabels.Font.Bold = True

ActiveChart.Axes(xlCategory).TockLabels.Font.Bold = _

True

ActiveChart.Legend.Position = xlBottom

End Sub

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!