- You create a chart object in the worksheet.
- You copy and paste the chart object on the same worksheet ten or more times.
- You then copy the worksheet several times in the same workbook.
Prevent automatic font scaling for new chartsYou can disable automatic font scaling for all new charts to prevent the workbook from exceeding the maximum number of allowable fonts through setting a registry key.
To do disable the Auto scale setting, perform the following steps:Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
NOTE: Because there are several versions of Microsoft Windows, the following steps may be different on your computer. If they are, see your product documentation to complete these steps.
- Quit all running programs.
- Click the Start button, and then click Run.
- In the Open box, type regedit , and then click OK.
- Go to the following registry subkey (folder), depending on your version of Excel:
- Point to New on the Edit menu, and then click DWORD Value. Type
AutoChartFontScaling , and then press
- Click Modify on the Edit menu. Type 0 in the Value Data box, and then click OK.
- Click Exit on the File menu to quit the Registry Editor.
Disable automatic font scaling in existing chartsUse one of the following methods to disable automatic font scaling in your existing charts.
Method 1: Disable Autoscale in each Chart
- Select a chart.
- On the Format menu, click Selected Chart Area.
- Click the Font tab.
- Click to clear the Autoscale check box.
- Click OK.
- Repeat these steps for each chart in your workbook.
Method 2: Programmatically disable Auto scale on all existing charts in the workbookMicrosoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. To programmatically disable Auto scale on all existing charts in a workbook, please do the following steps:
- Start Excel and open the file that is causing the error message.
- In the Tools menu, point to Macro, and then click Visual Basic Editor (or press ALT+F11).
- In the Visual Basic Editor, select Module from the Insert menu.
- Type or paste the following code in the module:
Dim ws As Worksheet, co As ChartObject, i As Integer
Dim ch As Chart
For Each ws In ActiveWorkbook.Worksheets
' Go through each worksheet in the workbook
For Each co In ws.ChartObjects
'In each chart turn the Auto Scale font feature off
i = i + 1
co.Chart.ChartArea.AutoScaleFont = False
For Each ch In ActiveWorkbook.Charts
'Go through each chart in the workbook
ch.ChartArea.AutoScaleFont = False
i = i + 1
MsgBox i & " charts have been altered"
Application.DisplayAlerts = True
- Click anywhere in the code of function AutoScale_Off, and then click Run Sub/UserForm on the Run menu. After the macro runs, you should be able to insert a chart without error.
Article ID: 215573 - Last Review: Sep 22, 2009 - Revision: 1