Classe Chart (Excel VBA)

A classe Chart representa um gráfico em uma pasta de trabalho.

Os principais procedimentos da classe Chart são Activate, Copy, Delete, Select, Sheets.Add, Sheets.Copy, Sheets.Delete e Sheets.Select

Set

Para usar uma variável de classe Chart, ela primeiro precisa ser instanciada por exemplo

Dim chr as Chart
Set chr = ActiveChart

Os procedimentos a seguir podem ser usados ​​para definir variáveis ​​do tipo Chart: Application.ActiveChart, Location, ChartObject.Chart, Shape.Chart, ShapeRange.Chart, Sheets.Item, Sheets.Item, Sheets.Add, Sheets.Add, Sheets.Visible, Sheets.Visible, Window.ActiveChart, Workbook.ActiveChart, Worksheets.Add, Application.Charts, Application.Sheets, Application.Worksheets, Window.SelectedSheets, Workbook.Charts, Workbook.Sheets e Workbook.Worksheets

For Each

Aqui está um exemplo de processamento dos itens Chart em uma coleção.

Dim chr As Chart
For Each chr In Charts
	
Next chr

Temas

Alguns procedimentos nesta classe foram agrupados em temas e são descritos em páginas de tema separadas

Name with its procedures ChartTitle, CodeName, HasTitle e SeriesNameLevel
Copy with its procedures Copy, CopyPicture e Sheets.Copy
Display/Show with its procedures DisplayBlanksAs, ShowAllFieldButtons, ShowAxisFieldButtons, ShowDataLabelsOverMaximum, ShowExpandCollapseEntireFieldButtons, ShowLegendFieldButtons e ShowValueFieldButtons
Export with its procedures Export e ExportAsFixedFormat
Print with its procedures PageSetup, PrintedCommentPages, PrintOut, PrintPreview, Sheets.HPageBreaks, Sheets.PrintOut, Sheets.PrintPreview e Sheets.VPageBreaks
Protect with its procedures Protect e Unprotect
Select with its procedures Select e Sheets.Select

Métodos

Estes são os principais métodos da classe Chart

Activate -

ActiveChart.Activate

Delete - Exclui o objeto.

ActiveChart.Delete

Sheets.Add - Cria uma nova planilha, gráfico ou planilha macro. A nova planilha se torna a planilha ativa.

Dim ws As Worksheet
Set ws = Charts.Add

Sheets.Delete - Exclui o objeto.

Charts.Delete

Estes são os principais métodos da classe

ApplyChartTemplate - Aplica um tipo de gráfico personalizado ou padrão a um gráfico.

ApplyDataLabels - Aplica rótulos de dados a todas as séries em um gráfico.

ApplyLayout - Aplica os layouts mostrados na faixa de opções.

Axes - Retorna um objeto que representa um único eixo ou uma coleção de eixos em um gráfico.

ChartGroups - Retorna um objeto que representa um único grupo de gráficos um objeto ChartGroup ou uma coleção de todos os grupos de gráficos no gráfico (um objeto ChartGroups ). A coleção retornada inclui todos os tipos de grupo.

ChartObjects - Retorna um objeto que representa um único gráfico incorporado um objeto ChartObject ou uma coleção de todos os gráficos incorporados (um objeto ChartObjects ) na planilha.

ChartWizard - Modifica as propriedades do gráfico especificado. Você pode usar esse método para formatar rapidamente um gráfico sem definir todas as propriedades individuais. Este método não é interativo e só altera as propriedades especificadas.

CheckSpelling - Verifica a ortografia de um objeto.

ClearToMatchColorStyle - Limpa todas as cores no gráfico especificado que não seguem o estilo de cor aplicado ao gráfico.

ClearToMatchStyle - Limpa a formatação dos elementos gráficos para automático.

Evaluate - Converte um nome do Microsoft Excel em um objeto ou em um valor.

FullSeriesCollection - Permite recuperar a série de saída filtrada especificada pelo argumento index .

GetChartElement - Retorna informações sobre o elemento de gráfico nas coordenadas x e y especificadas. Esse método é incomum porque você especifica valores apenas para os dois primeiros argumentos. O Microsoft Excel preenche os outros argumentos e o código deve examinar esses valores quando o método retornar.

Location - Move o gráfico para uma nova posição.

Move - Move o gráfico para outro lugar na pasta de trabalho.

OLEObjects - Retorna um objeto que representa um único objeto OLE um OLEObject ou uma coleção de todos os objetos OLE (uma coleção OLEObjects) no gráfico ou planilha. Somente leitura.

Paste - Cola dados de gráfico da Área de Transferência para o gráfico especificado.

Refresh - Faz com que o gráfico especificado seja redesenhado imediatamente.

SaveAs - Salva alterações feitas no gráfico ou na planilha em um arquivo diferente.

SaveChartTemplate - Salva um modelo de gráfico personalizado na lista de modelos de gráficos disponíveis.

SeriesCollection - Retorna um objeto que representa uma única série um objeto Series ou uma coleção de todas as séries (uma coleção SeriesCollection ) no gráfico ou grupo de gráficos.

SetBackgroundPicture - Define um gráfico de plano de fundo para um gráfico.

SetDefaultChart - Especifica o nome do modelo de gráfico que o Microsoft Excel usa ao criar novos gráficos.

SetElement - Conjuntos de elementos em um gráfico do gráfico. Leitura/gravação MsoChartElementType.

SetSourceData - Define o intervalo de dados de origem para o gráfico.

Sheets.FillAcrossSheets - Copia um intervalo para a mesma área em todas as outras planilhas de uma coleção.

Sheets.Move - Move a planilha para outro lugar na pasta de trabalho.

Propriedades

AutoScaling True se o Microsoft Excel dimensiona um gráfico 3D para que fique mais perto do tamanho do gráfico 2D equivalente. A propriedade RightAngleAxes deve ser verdadeiras. Boolean de leitura/gravação.

ActiveChart.AutoScaling = True

BackWall Retorna um objeto Walls que permite que o usuário formate individualmente a parede traseira de um gráfico 3D. Somente leitura.

Dim wllsBackWall As Walls
Set wllsBackWall = ActiveChart.BackWall

BarShape Retorna ou define a forma usada com o gráfico de colunas ou barra 3D. XlBarShape de leitura/gravação.

ActiveChart.BarShape = xlBox

CategoryLabelLevel Retorna uma constante XlCategoryLabelLevel que se refere ao nível de onde os rótulos de categoria estão sendo originados. número inteiro de leitura/gravação.

ActiveChart.CategoryLabelLevel = xlCategoryLabelLevelAll

ChartArea Retorna um objeto ChartArea que representa a área completa do gráfico para o gráfico. Somente leitura.

Dim caaChartArea As ChartArea
Set caaChartArea = ActiveChart.ChartArea

ChartColor Retorna ou define um inteiro que representa o esquema de cores do gráfico. Leitura/gravação.

ActiveChart.ChartColor =

ChartStyle Retorna ou define o estilo de gráfico do gráfico. de leitura/gravação.

ActiveChart.ChartStyle =

ChartType Retorna ou define o tipo de gráfico. XlChartType de leitura/gravação.

ActiveChart.ChartType = xl3DArea

DataTable Retorna um objeto DataTable que representa a tabela de dados do gráfico. Somente leitura.

Dim dteDataTable As DataTable
Set dteDataTable = ActiveChart.DataTable

DepthPercent Retorna ou define a profundidade de um gráfico 3D como um percentual da largura do gráfico entre 20 e 2000 por cento. Long de leitura/gravação.

ActiveChart.DepthPercent =

DisplayValueNotAvailableAsBlank

ActiveChart.DisplayValueNotAvailableAsBlank = True

Elevation Retorna ou define a elevação do modo de exibição do gráfico 3D, em graus. Long de leitura/gravação.

ActiveChart.Elevation =

Floor Retorna um objeto Floor que representa a base do gráfico 3D. Somente leitura.

Dim flrFloor As Floor
Set flrFloor = ActiveChart.Floor

GapDepth Retorna ou define a distância entre a série de dados em um gráfico 3D como um percentual da largura do marcador. O valor dessa propriedade precisa estar entre 0 e 500. Long de leitura/gravação.

ActiveChart.GapDepth =

HasAxis Retorna ou define quais eixos existem no gráfico. de leitura/gravação.

ActiveChart.HasAxis = True

HasDataTable True se o gráfico possui uma tabela de dados. Boolean de leitura/gravação.

ActiveChart.HasDataTable = True

HasLegend True se o gráfico tem uma legenda. Boolean de leitura/gravação.

ActiveChart.HasLegend = True

HeightPercent Retorna ou define a altura de um gráfico 3D como um percentual da largura do gráfico entre 5 e 500 por cento. Long de leitura/gravação.

ActiveChart.HeightPercent =

Hyperlinks Retorna uma coleção hyperlinks que representa os hiperlinks do gráfico.

Dim hypsHyperlinks As Hyperlinks
Set hypsHyperlinks = ActiveChart.Hyperlinks

Index Retorna um valor Long que representa o número de índice do objeto dentro da coleção de objetos semelhantes.

Dim lngIndex As Long
lngIndex = ActiveChart.Index

Legend Retorna um objeto Legend que representa a legenda do gráfico. Somente leitura.

Dim lgnLegend As Legend
Set lgnLegend = ActiveChart.Legend

MailEnvelope Representa um cabeçalho de email para um documento.

Dim meeMailEnvelope As Office.MsoEnvelope
Set meeMailEnvelope = ActiveChart.MailEnvelope

Name Retorna ou define um valor String que representa o nome do objeto.

ActiveChart.Name =

Next Retorna um objeto Worksheet que representa a próxima planilha.

Dim wsNext As Worksheet
Set wsNext = ActiveChart.Next

Parent Retorna o objeto pai do objeto especificado. Somente leitura.

Dim objParent As Object
Set objParent = ActiveChart.Parent

Perspective Retorna ou define um valor Long que representa a perspectiva para o modo de exibição de gráfico 3D.

ActiveChart.Perspective = 70

PivotLayout Retorna um objeto PivotLayout que representa o posicionamento de campos em um relatório de tabela dinâmica e o posicionamento de eixos em um relatório de gráfico dinâmico. Somente leitura.

Dim pltPivotLayout As PivotLayout
Set pltPivotLayout = ActiveChart.PivotLayout

PlotArea Retorna um objeto PlotArea que representa a área de plotagem de um gráfico. Somente leitura.

Dim paaPlotArea As PlotArea
Set paaPlotArea = ActiveChart.PlotArea

PlotBy Retorna ou define como as colunas ou linhas são usadas como séries de dados no gráfico. Pode ser uma das seguintes constantes XlRowCol : xlColumns ou xlRows. Long de leitura/gravação.

ActiveChart.PlotBy = xlColumns

PlotVisibleOnly True se somente as células visíveis são plotadas. False se as células visíveis quanto ocultas são plotadas. Boolean de leitura/gravação.

ActiveChart.PlotVisibleOnly = True

Previous Retorna um objeto Worksheet que representa a planilha anterior.

Dim wsPrevious As Worksheet
Set wsPrevious = ActiveChart.Previous

ProtectContents True se o conteúdo da planilha estiver protegido. Para um gráfico, isso protege o gráfico inteiro. Para ativar a proteção de conteúdo, use o método Protect com o argumento Content definido como true. Boolean somente leitura.

Dim booProtectContents As Boolean
booProtectContents = ActiveChart.ProtectContents

ProtectData True se o usuário não puder modificar as fórmulas de série. Boolean de leitura/gravação.

ActiveChart.ProtectData = True

ProtectDrawingObjects True se as formas estiverem protegidas. Para ativar a proteção de forma, use o método Protect com o argumento DrawingObjects definido como true. Boolean somente leitura.

Dim booProtectDrawingObjects As Boolean
booProtectDrawingObjects = ActiveChart.ProtectDrawingObjects

ProtectFormatting True se o usuário não puder modificar a formatação do gráfico. Boolean de leitura/gravação.

ActiveChart.ProtectFormatting = True

ProtectionMode True se a proteção somente da interface do usuário estiver ativada. Para ativar a proteção da interface do usuário, use o método Protect com o argumento UserInterfaceOnly definido como true. Boolean somente leitura.

Dim booProtectionMode As Boolean
booProtectionMode = ActiveChart.ProtectionMode

ProtectSelection True se não for possível selecionar elementos de gráfico. Boolean de leitura/gravação.

ActiveChart.ProtectSelection = True

RightAngleAxes True se os eixos do gráfico estiverem em reto, independentemente de rotação de gráfico ou a elevação. Só se aplica a gráficos de linhas, colunas e barras 3D. Boolean de leitura/gravação.

ActiveChart.RightAngleAxes = True

Rotation Retorna ou define a rotação do modo de exibição de gráfico 3D a rotação da área de plotagem em torno do eixo z, em graus. O valor dessa propriedade deve ser de 0 a 360, exceto para gráficos de barras 3D, onde o valor deve ser de 0 a 44. O valor padrão é 20. Aplica-se apenas a gráficos 3D. de leitura/gravação.

ActiveChart.Rotation =

Shapes Retorna uma coleção Shapes que representa todas as formas na planilha de gráfico. Somente leitura.

Dim shpsShapes As Shapes
Set shpsShapes = ActiveChart.Shapes

ShowReportFilterFieldButtons Retorna ou define se os botões de campo de filtro de relatório devem ser exibidos em um gráfico dinâmico. Leitura/gravação.

ActiveChart.ShowReportFilterFieldButtons = True

SideWall Retorna um objeto Walls que permite que o usuário formate individualmente a parede lateral de um gráfico 3D. Somente leitura.

Dim wllsSideWall As Walls
Set wllsSideWall = ActiveChart.SideWall

Tab Retorna um objeto Tab para um gráfico.

Dim tabTab As Tab
Set tabTab = ActiveChart.Tab

Visible Retorna ou define um valor XlSheetVisibility que determina se o objeto está visível.

ActiveChart.Visible = xlSheetHidden

Walls Retorna um objeto Walls que representa as paredes do gráfico 3D. Somente leitura.

Dim wllsWalls As Walls
Set wllsWalls = ActiveChart.Walls

Sheets.Count Retorna um valor Long que representa o número de objetos na coleção.

Dim lngCount As Long
lngCount = Charts.Count

Sheets.Item Retorna um único objeto de uma coleção.

Dim chrItem As Chart
Set chrItem = Charts(Index:=1)

Sheets.Parent Retorna o objeto pai do objeto especificado. Somente leitura.

Dim wbParent As Workbook
Set wbParent = Charts.Parent

Sheets.Visible Retorna ou define um valor que determina se o objeto está visível.

Charts.Visible = True