ChartObjects object (Excel)

A collection of all the ChartObject objects on the specified chart sheet, dialog sheet, or worksheet.


Each ChartObject object represents an embedded chart. The ChartObject object acts as a container for a Chart object. Properties and methods for the ChartObject object control the appearance and size of the embedded chart on the sheet.


Use the ChartObjects method of the Worksheet object to return the ChartObjects collection.

The following example deletes all the embedded charts on the worksheet named Sheet1.


You cannot use the ChartObjects collection to call the following properties and methods:

  • Locked property
  • Placement property
  • PrintObject property

Unlike the previous version, the ChartObjects collection can now read the properties for height, width, left, and top.

Use the Add method to create a new, empty embedded chart and add it to the collection. Use the ChartWizard method of the Chart object to add data and format the new chart.

The following example creates a new embedded chart and then adds the data from cells A1:A20 as a line chart.

Dim ch As ChartObject 
Set ch = Worksheets("sheet1").ChartObjects.Add(100, 30, 400, 250) 
ch.Chart.ChartWizard source:=Worksheets("sheet1").Range("a1:a20"), _ 
 gallery:=xlLine, title:="New Chart"

Use ChartObjects (index), where index is the embedded chart index number or name, to return a single object. The following example sets the pattern for the chart area in embedded Chart 1 on the worksheet named Sheet1.

Worksheets("Sheet1").ChartObjects(1).Chart. _ 
 CChartObjecthartArea.Format.Fill.Pattern = msoPatternLightDownwardDiagonal 



See also

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.