EXCEL中图表粘贴过程中出现的问题

Python023

EXCEL中图表粘贴过程中出现的问题,第1张

向 Excel 中的工作簿添加图表时收到错误信息

察看本文应用于的产品

文章编号 : 215573

最后修改 : 2005年8月11日

修订 : 6.0

重要说明:本文包含有关如何修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和修改注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

256986 (http://support.microsoft.com/kb/256986/) Microsoft Windows 注册表说明

本页

症状

原因

解决方案

阻止新图表的自动字体缩放

禁用现有图表中的自动字体缩放

方法 1:禁用每个图表中的“自动缩放”

方法 2:以编程方式禁用工作簿中所有现有图表的“自动缩放”

这篇文章中的信息适用于:

症状

当您向 Microsoft Office Excel 中的工作簿添加图表时,可能会收到以下错误信息:

No more new fonts may be applied in this workbook.

当单击确定以清除此错误信息时,可能会收到以下错误信息:

Cell table Integrity failure.

回到顶端

原因

出现此问题的原因在于“自动缩放”设置。向工作簿添加图表时,默认情况下会启用“自动缩放”设置。此设置导致图表使用两种或多种字体,而不是一种。在启用了此设置的情况下向工作簿添加多个图表时,可能会达到工作簿的字体限制。对于 Microsoft Excel 2000 和更高版本,字体的最大数目为 512。如果手动添加图表或复制和粘贴现有图表,可能会达到工作簿的字体限制。下面是一个复制现有图表的示例:• 在工作表中创建图表对象。

• 在该工作表中复制和粘贴此图表对象十次或更多次。

• 然后在同一工作簿中复制该工作表多次。

回到顶端

解决方案

存在注册表项可以用来防止新图表的自动字体缩放。要修复现有图表,请使用“禁用现有图表中的自动字体缩放”一节中所列的方法之一。

回到顶端

阻止新图表的自动字体缩放

可以通过设置注册表项对所有新图表禁用自动字体缩放,以防止工作簿超出允许的字体的最大数目。

要禁用“自动缩放”设置,请执行下列步骤:警告:注册表编辑器或其他方法使用不当可能导致严重问题。这些问题可能需要重新安装操作系统。Microsoft 不能保证可以解决这些问题。修改注册表需要您自担风险。

注意:因为 Microsoft Windows 存在多个版本,所以在您的计算机上执行的步骤可能与下面介绍的步骤有所不同。如果是这样,请参阅您的产品文档来完成这些步骤。1. 退出所有正在运行的程序。

2. 单击“开始”按钮,然后单击“运行”。

3. 在“打开”框中,键入 regedit,然后单击“确定”。

4. 根据您的 Excel 版本,转到以下注册表子项(文件夹):

Excel 2003

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options

Excel 2002

HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Options

Excel 2000

HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Excel\Options

5. 指向“编辑”菜单上的“新建”,然后单击“DWORD 值”。键入 AutoChartFontScaling,然后按 Enter 键。

6. 单击“编辑”菜单上的“修改”。在“数值数据”框中键入 0,然后单击“确定”。

7. 单击“文件”菜单上的“退出”以退出注册表编辑器。

添加了此注册表项后,在 Excel 中创建的所有新图表都将不会选中“自动缩放”设置。

回到顶端

禁用现有图表中的自动字体缩放

使用下列方法之一来禁用现有图表中的自动字体缩放。

方法 1:禁用每个图表中的“自动缩放”

1. 选择一个图表。

2. 在格式菜单上,单击图表区。

3. 单击字体选项卡。

4. 单击以清除自动缩放复选框。

5. 单击确定。

6. 为工作簿中的每个图表重复这些步骤。

方法 2:以编程方式禁用工作簿中所有现有图表的“自动缩放”

Microsoft 提供的编程示例只用于说明目的,不附带任何明示或默示的保证。这包括但不限于对适销性或特定用途适用性的默示保证。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能,但是他们不会修改这些示例以提供额外的功能或构建过程以满足您的特殊需求。 要以编程方式禁用工作簿中所有现有图表的“自动缩放”,请执行下列步骤:1. 启动 Excel 并打开导致错误信息的文件。

2. 在“工具”菜单上,指向“宏”,然后单击“Visual Basic 编辑器”(或按 Alt+F11)。

3. 在 Visual Basic 编辑器中,从“插入”菜单中选择“模块”。

4. 在模块中键入或粘贴以下代码: 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. 单击函数“AutoScale_Off”的代码中的任意位置,然后单击“运行”菜单上的“运行子过程/用户窗体”。宏运行后,您应该能够插入图表,而不会出现错误。

选择单元格区域中的一列日期或时间,或者确保活动单元格在包含日期或时间的表列中。

选择单元格区域或表中的一列日期或时间。

在“开始”选项卡上的“编辑”组中,单击“排序和筛选”,然后执行下列操作之一:

若要按从早到晚的顺序对日期或时间排序,请单击“从最旧到最新排序”。

若要按从晚到早的顺序对日期或时间排序,请单击“从最新到最旧排序”。

问题:检查日期和时间是否存储为日期或时间 如果结果不是您所希望的,可能是因为该列中包含存储为文本(而不是日期或时间)的日期或时间。要使 Excel 正确地对日期和时间进行排序,该列中的所有日期和时间都必须存储为日期或时间系列数值。如果 Excel 无法将值识别为日期或时间值,就会将该日期或时间存储为文本。有关详细信息,请参阅将存储为文本的日期转换为日期。

注释 如果要按星期日期进行排序,请设置单元格格式以显示星期日期。如果要按星期日期进行排序,而不考虑日期,请使用 TEXT 函数将它们转换为文本。但是,TEXT 函数会返回一个文本值,因此排序操作将基于字母数字数据。有关详细信息,请参阅按星期日期显示日期。

打开文档后,通过文件菜单中“另存为”,将文档存为rtf格式。保存好文件后,先关掉文档再打开另存的文件,选择工具栏中的“解除文档保护”命令,不用填写密码就可以解除此文件的“文档保护功能”,而且任何信息都不会丢失。用Office Password Remover这个软件可以打开。

使用方法:

首先运行解压好的OPRemove.exe 这个程式,打开程式后能看到中间文本框后面有个类似目录的按钮。

选择后出现下图的画面,点击移除密码。

呆几秒钟后便出现“该文件已被成功破解”,点确定即可,这时候就大功告成了。 在这里要注意的是,破解后的文章名字会有点变化,加了“DEMO”这四个字母,翻译过来就是示范的意思,不必在意,重命名去掉就能了。