Problem:
In the Excel editing status, everything works normally, but you can move or copy a worksheet in this workbook (for example, after you select a character area, click "font color" in the "format" toolbar "), the following message is displayed: "This workbook cannot use any new font." You cannot click it many times. The same is prompted when you repeat the information on another computer.
Cause
This problem occurs because of the "auto scaling" setting. When you add a chart to a workbook, the "auto scaling" setting is enabled by default. This setting causes the chart to use two or more fonts, not one. When this setting is enabled, the font limit of the workbook may be reached when multiple charts are added to the workbook. For Microsoft Excel 2000 and later versions, the maximum number of fonts is 512. If you manually add charts or copy and paste existing charts, the font limit of the workbook may be reached.
Solution:
Disable auto font scaling for existing charts
Method 1:Disable auto scaling for each chart"
1. Select a chart.
2. On the Format menu, click the chart area.
3. Click the font tab.
4. Click to clear the auto scaling check box.
5. Click OK.
6. Repeat these steps for each chart in the workbook.
Method 2:Disable auto scaling for all existing charts in the workbook programmatically"
To disable automatic scaling for all existing charts in the workbook programmatically, perform the following steps: 1. Start Excel and open the file that causes the error message.
2. On the Tools menu, point to macro and click Visual Basic Editor (or press Alt + F11 ).
3. In the Visual Basic Editor, select "module" from the "insert" menu ".
4. type or paste the following code in the module: Sub autoscale_off ()
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
Next Co
Next WS
For each CH in activeworkbook. Charts
'Go through each chart in the workbook
Ch. chartarea. autoscalefont = false
I = I + 1
Next
Msgbox I & "charts have been altered"
Application. displayalerts = true
End sub
5. Click the Save button to save the macro you just wrote. Return to the workbook page, click "tools/macros", and select autoscale_off (that is, the name of the macro you just wrote ), click execute. Everything is done.