Classe ChartObject (Excel VBA)

A classe ChartObject representa um gráfico incorporado em uma planilha.

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

Set

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

Dim chro as ChartObject
Set chro = ActiveSheet.ChartObjects(Index:=1)

Os procedimentos a seguir podem ser usados ​​para definir variáveis ​​do tipo ChartObject: Duplicate, ChartObjects.Item, ChartObjects.Add, Chart.ChartObjects, ChartObjects.Duplicate e Worksheet.ChartObjects

For Each

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

Dim chro As ChartObject
For Each chro In ActiveSheet.ChartObjects()
	
Next chro

Temas

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

Cell with its procedures BottomRightCell e TopLeftCell
Copy with its procedures Copy, CopyPicture, ChartObjects.Copy e ChartObjects.CopyPicture
Print with its procedures PrintObject e ChartObjects.PrintObject

Métodos

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

Activate - Torna ativo o gráfico atual.

ActiveSheet.ChartObjects(1).Activate

Delete - Exclui o objeto.

ActiveSheet.ChartObjects(1).Delete

Select - Seleciona o objeto.

ActiveSheet.ChartObjects(1).Select

ChartObjects.Add - Cria um novo gráfico incorporado.

Dim dblLeft As Double: dblLeft = 
Dim dblTop As Double: dblTop = 
Dim dblWidth As Double: dblWidth = 
Dim dblHeight As Double: dblHeight = 
Dim chro As ChartObject
Set chro = ActiveSheet.ChartObjects.Add(Left:=dblLeft, Top:=dblTop, Width:=dblWidth, Height:=dblHeight)

ChartObjects.Delete - Exclui o objeto.

ActiveSheet.ChartObjects.Delete

ChartObjects.Select - Seleciona o objeto.

ActiveSheet.ChartObjects.Select

Estes são os principais métodos da classe

BringToFront - Traz o objeto para o início da ordem z.

Cut - Recorta o objeto para a Área de Transferência.

Duplicate - Duplica o objeto e retorna uma referência para a nova cópia.

SendToBack - Envia o objeto para o final da ordem z.

ChartObjects.Cut - Recorta o objeto para a Área de Transferência.

ChartObjects.Duplicate - Duplica o objeto e retorna uma referência para a nova cópia.

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

Propriedades

Chart Retorna um objeto Chart que representa o gráfico contido no objeto. Somente leitura.

Dim chrChart As Chart
Set chrChart = ActiveSheet.ChartObjects(1).Chart

Height Retorna ou define um valor Double que representa a altura, em pontos, do objeto.

ActiveSheet.ChartObjects(1).Height =

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 = ActiveSheet.ChartObjects(1).Index

Left Retorna ou define um valor Double que representa a distância, em pontos, da borda esquerda do objeto à borda esquerda da coluna a em uma planilha ou à borda esquerda da área do gráfico (em um gráfico).

ActiveSheet.ChartObjects(1).Left = 50

Locked Retorna ou define um valor Boolean que indica se o objeto está bloqueado.

ActiveSheet.ChartObjects(1).Locked = True

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

ActiveSheet.ChartObjects(1).Name =

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

Dim objParent As Object
Set objParent = ActiveSheet.ChartObjects(1).Parent

Placement Retorna ou define um valor , contendo uma constante XlPlacement, que representa a forma como o objeto é anexado às células abaixo dele.

ActiveSheet.ChartObjects(1).Placement = xlFreeFloating

ProtectChartObject True se não for possível mover, redimensionar ou excluir o quadro do gráfico incorporado através da interface do usuário. Boolean de leitura/gravação.

ActiveSheet.ChartObjects(1).ProtectChartObject = True

RoundedCorners True se o gráfico incorporado tiver cantos arredondados. Boolean de leitura/gravação.

ActiveSheet.ChartObjects(1).RoundedCorners = True

Shadow Retorna ou define um valor Boolean que determina se a fonte será uma fonte sombreada ou se o objeto possuirá uma sombra.

ActiveSheet.ChartObjects(1).Shadow = True

ShapeRange Retorna um objeto ShapeRange que representa o objeto ou objetos especificados. Somente leitura.

Dim sreShapeRange As ShapeRange
Set sreShapeRange = ActiveSheet.ChartObjects(1).ShapeRange

Top Retorna ou define um valor Double que representa a distância, em pontos, da borda superior do objeto até a parte superior da linha 1 em uma planilha ou a parte superior da área do gráfico (em um gráfico).

ActiveSheet.ChartObjects(1).Top =

Visible Retorna ou define um valor Boolean que determina se o objeto será visível. Leitura/gravação.

ActiveSheet.ChartObjects(1).Visible = True

Width Retorna ou define um valor Double que representa a largura, em pontos, do objeto.

ActiveSheet.ChartObjects(1).Width =

ZOrder Retorna a posição do objeto na ordem z. Long somente leitura.

Dim lngZOrder As Long
lngZOrder = ActiveSheet.ChartObjects(1).ZOrder

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

Dim lngCount As Long
lngCount = ActiveSheet.ChartObjects.Count

ChartObjects.Height Retorna ou define um valor Double que representa a altura, em pontos, do objeto.

ActiveSheet.ChartObjects.Height =

ChartObjects.Left Retorna ou define um valor Double que representa a distância, em pontos, da borda esquerda do objeto à borda esquerda da coluna a em uma planilha ou à borda esquerda da área do gráfico (em um gráfico).

ActiveSheet.ChartObjects.Left =

ChartObjects.Locked Retorna ou define um valor Boolean que indica se os objetos estão bloqueados.

ActiveSheet.ChartObjects.Locked = True

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

Dim objParent As Object
Set objParent = ActiveSheet.ChartObjects.Parent

ChartObjects.Placement Retorna ou define um valor , contendo uma constante XlPlacement , que representa a maneira como os objetos são anexados às células abaixo deles.

ActiveSheet.ChartObjects.Placement = xlFreeFloating

ChartObjects.ProtectChartObject True se não for possível mover, redimensionar ou excluir o quadro do gráfico incorporado através da interface do usuário. Boolean de leitura/gravação.

ActiveSheet.ChartObjects.ProtectChartObject = True

ChartObjects.ShapeRange Retorna um objeto ShapeRange que representa o objeto ou objetos especificados. Somente leitura.

Dim sreShapeRange As ShapeRange
Set sreShapeRange = ActiveSheet.ChartObjects.ShapeRange

ChartObjects.Top Retorna ou define um valor Double que representa a distância, em pontos, da borda superior do objeto até a parte superior da linha 1 em uma planilha ou a parte superior da área do gráfico (em um gráfico).

ActiveSheet.ChartObjects.Top =

ChartObjects.Visible Retorna ou define um valor Boolean que determina se o objeto será visível. Leitura/gravação.

ActiveSheet.ChartObjects.Visible = True

ChartObjects.Width Retorna ou define um valor Double que representa a largura, em pontos, do objeto.

ActiveSheet.ChartObjects.Width =