An Excel VBA macro can format a pie chart consistently, but the useful part is not memorizing one block of code. You need to identify the chart object you want to change and then set only the chart properties that should be standardized. The example below formats the first chart on the active worksheet and can be adapted to your workbook.
Create a VBA macro for a pie chart
- Save the workbook as an Excel Macro-Enabled Workbook (.xlsm) if it is not already using that format.
- Press Alt+F11 in desktop Excel for Windows to open the Visual Basic Editor.
- Choose Insert > Module.
- Enter a macro that assigns the target chart to a
ChartObjectvariable and changes the chart properties you need. - Close the editor, return to Excel, and press Alt+F8.
- Select the macro and run it on a workbook you can safely test.
Example pie-chart formatting macro
Sub FormatFirstPieChart()
Dim ch As ChartObject
If ActiveSheet.ChartObjects.Count = 0 Then
MsgBox "No chart was found on the active sheet."
Exit Sub
End If
Set ch = ActiveSheet.ChartObjects(1)
With ch.Chart
.HasTitle = True
.ChartTitle.Text = "Sales by Category"
.HasLegend = True
.Legend.Position = xlLegendPositionRight
If .SeriesCollection.Count > 0 Then
.SeriesCollection(1).ApplyDataLabels
End If
End With
End Sub
This example deliberately avoids hard-coding slice colors. Pie charts can contain different numbers of points, so color code that assumes a fixed number of slices can fail or produce misleading formatting when the source data changes.
Target the correct chart
ChartObjects(1) means the first embedded chart on the active worksheet. That is convenient for a test, but it can format the wrong chart in a real workbook. For repeatable automation, give the chart a meaningful object name and reference that name in VBA, or loop through the worksheet’s charts and test each chart’s type before changing it.
Be careful with macros from other files
VBA can modify files and perform actions beyond chart formatting. Do not enable macros simply because a workbook asks you to. Use code from a source you trust, inspect it when possible, and test formatting macros on a copy of important workbooks before running them on production data.

Kermit Matthews is a freelance writer based in Philadelphia, Pennsylvania with more than a decade of experience writing technology guides. He has a Bachelor’s and Master’s degree in Computer Science and has spent much of his professional career in IT management.
He specializes in writing content about iPhones, Android devices, Microsoft Office, and many other popular applications and devices.