Klasse ChartObject (Excel VBA)

Die Klasse ChartObject stellt ein in ein Arbeitsblatt eingebettetes Diagramm dar.

Die wichtigste Prozeduren der Klasse ChartObject sind Activate, Copy, Delete, Select, ChartObjects.Add, ChartObjects.Copy, ChartObjects.Delete und ChartObjects.Select

Set

Um eine ChartObject -Klassenvariable zu verwenden, muss sie zuerst instanziert werden, beispielsweise

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

Die folgenden Prozeduren können zum Festlegen der ChartObject Klassenvariablen verwendet werden : Duplicate, ChartObjects.Item, ChartObjects.Add, Chart.ChartObjects, ChartObjects.Duplicate und Worksheet.ChartObjects

For Each

Hier ist ein Beispiel für die Verarbeitung der ChartObject -Elemente in einer Sammlung

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

Themas

Einige Prozeduren in dieser Klasse wurden in Themen zusammengefasst und auf separaten Themenseiten beschrieben

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

Methoden

Die Hauptmethoden der Klasse ChartObject sind

Activate - Macht das aktuelle Diagramm zum aktiven Diagramm.

ActiveSheet.ChartObjects(1).Activate

Delete - Löscht das Objekt.

ActiveSheet.ChartObjects(1).Delete

Select - Markiert das Objekt.

ActiveSheet.ChartObjects(1).Select

ChartObjects.Add - Erstellt ein neues eingebettetes Diagramm.

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 - Löscht das Objekt.

ActiveSheet.ChartObjects.Delete

ChartObjects.Select - Markiert das Objekt.

ActiveSheet.ChartObjects.Select

Andere Methoden

BringToFront - Bringt das Objekt in den Vordergrund der Z-Reihenfolge.

Cut - Schneidet das Objekt aus und fügt es in die Zwischenablage ein.

Duplicate - Dupliziert das Objekt und gibt einen Bezug auf die neue Kopie zurück.

SendToBack - Verschiebt das Objekt in den Hintergrund der Z-Reihenfolge.

ChartObjects.Cut - Schneidet das Objekt aus und fügt es in die Zwischenablage ein.

ChartObjects.Duplicate - Dupliziert das Objekt und gibt einen Bezug auf die neue Kopie zurück.

ChartObjects.Item - Gibt ein einzelnes Objekt aus einer Auflistung zurück.

Eigenschaften

Chart Gibt ein Chart -Objekt zurück, das das im Objekt enthaltene Diagramm darstellt.

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

Height Gibt einen Double -Wert zurück, der die Höhe des Objekts in Punktdarstellt, oder legt diesen fest.

ActiveSheet.ChartObjects(1).Height =

Index Gibt einen Long-Wert zurück, der die Indexnummer des Objekts in der Auflistung ähnlicher Objekte darstellt.

Dim lngIndex As Long
lngIndex = ActiveSheet.ChartObjects(1).Index

Left Gibt einen Double -Wert zurück, der den Abstand (in Punkt) vom linken Rand des Objekts zum linken Rand der Spalte a (auf einem Arbeitsblatt) oder zum linken Rand des Diagrammbereichs (in einem Diagramm) darstellt, oder legt diesen fest.

ActiveSheet.ChartObjects(1).Left = 50

Locked Gibt einen Boolean-Wert zurück, der angibt, ob das Objekt gesperrt ist, oder legt diesen fest.

ActiveSheet.ChartObjects(1).Locked = True

Name Gibt einen String-Wert zurück, der den Namen des Objekts darstellt.

ActiveSheet.ChartObjects(1).Name =

Parent Gibt das übergeordnete Objekt für das angegebene Objekt zurück.

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

Placement Gibt einen Variant-Wert mit einer XlPlacement-Konstante zurück, die darstellt, wie das Objekt an die Zellen darunter angefügt ist, oder legt diesen Wert fest.

ActiveSheet.ChartObjects(1).Placement = xlFreeFloating

ProtectChartObject True, wenn der Rahmen eines eingebetteten Diagramms nicht verschoben, gelöscht oder wenn seine Größe nicht geändert werden kann.

ActiveSheet.ChartObjects(1).ProtectChartObject = True

RoundedCorners True, wenn das eingebettete Diagramm abgerundete Ecken besitzt.

ActiveSheet.ChartObjects(1).RoundedCorners = True

Shadow Gibt einen Boolean-Wert zurück, der bestimmt, ob die Schriftart Schatten aufweist oder ob das Objekt einen Schatten aufweist, oder legt diesen Wert fest.

ActiveSheet.ChartObjects(1).Shadow = True

ShapeRange Gibt ein ShapeRange -Objekt zurück, das die angegebenen Objekte darstellt.

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

Top Gibt einen Double -Wert zurück, der den Abstand (in Punkt) vom oberen Rand des Objekts zum Anfang von Zeile 1 (auf einem Arbeitsblatt) oder oben im Diagrammbereich (in einem Diagramm) darstellt, oder legt diesen fest.

ActiveSheet.ChartObjects(1).Top =

Visible Gibt einen Boolean-Wert zurück, der bestimmt, ob das Objekt sichtbar ist, oder legt diesen Wert fest.

ActiveSheet.ChartObjects(1).Visible = True

Width Gibt einen Double -Wert zurück, der die Breite des Objekts in Punktdarstellt, oder legt diesen fest.

ActiveSheet.ChartObjects(1).Width =

ZOrder Gibt die Position des Objekts in der Z-Reihenfolge zurück.

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

ChartObjects.Count Gibt einen Long-Wert zurück, der die Anzahl der Objekte in der Auflistung darstellt.

Dim lngCount As Long
lngCount = ActiveSheet.ChartObjects.Count

ChartObjects.Height Gibt einen Double -Wert zurück, der die Höhe des Objekts in Punktdarstellt, oder legt diesen fest.

ActiveSheet.ChartObjects.Height =

ChartObjects.Left Gibt einen Double -Wert zurück, der den Abstand (in Punkt) vom linken Rand des Objekts zum linken Rand von Spalte a (auf einem Arbeitsblatt) oder zum linken Rand des Diagrammbereichs (in einem Diagramm) darstellt, oder legt diesen fest.

ActiveSheet.ChartObjects.Left =

ChartObjects.Locked Gibt zurück oder legt einen booleschen Wert, der angibt, ob die Objekte gesperrt sind.

ActiveSheet.ChartObjects.Locked = True

ChartObjects.Parent Gibt das übergeordnete Objekt für das angegebene Objekt zurück.

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

ChartObjects.Placement Gibt einen Variant -Wert zurück, der eine XlPlacement -Konstante enthält, die angibt, wie die Objekte an die Zellen darunter angefügt werden, oder legt diesen fest.

ActiveSheet.ChartObjects.Placement = xlFreeFloating

ChartObjects.ProtectChartObject True, wenn der Rahmen eines eingebetteten Diagramms nicht verschoben, gelöscht oder wenn seine Größe nicht geändert werden kann.

ActiveSheet.ChartObjects.ProtectChartObject = True

ChartObjects.ShapeRange Gibt ein ShapeRange -Objekt zurück, das die angegebenen Objekte darstellt.

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

ChartObjects.Top Gibt einen Double -Wert zurück, der den Abstand (in Punkt) vom oberen Rand des Objekts zum Anfang von Zeile 1 (auf einem Arbeitsblatt) oder oben im Diagrammbereich (in einem Diagramm) darstellt, oder legt diesen fest.

ActiveSheet.ChartObjects.Top =

ChartObjects.Visible Gibt einen Boolean-Wert zurück, der bestimmt, ob das Objekt sichtbar ist, oder legt diesen Wert fest.

ActiveSheet.ChartObjects.Visible = True

ChartObjects.Width Gibt einen Double -Wert zurück, der die Breite des Objekts in Punktdarstellt, oder legt diesen fest.

ActiveSheet.ChartObjects.Width =