问题描述:Excel表格复制单元格、复制或移动工作表的时候,提示单元格格式太多,无法复制单元格或复制移动工作表。
原因分析:经分析,该问题一般是因为表格中自定义样式太多导致的,可以通过点击样式中单元格样式查看,此时会看到很多自定义的格式,如下图所示:
因为自定义的单元格样式太多,导致Excel存储的单元格样式数量达到了Excel的上限(Excel 2003上限是4000个,Excel2007以后版本是64000个),所以,Excel会报错。解决方案:1.打开有问题的表格,按组合键Alt+F11,打开宏编辑器,任意选择一个工作表,如下图所示:
2.双击打开代码编辑器,将以下代码复制到代码框中:如下图所示:代码如下:
Sub 批量删除自定义样式()Debug.Print ActiveWorkbook.Styles.CountFor i = ActiveWorkbook.Styles.Count To 1 Step -1 On Error Resume Next ActiveWorkbook.Styles(i).DeleteNextDebug.Print ActiveWorkbook.Styles.CountEnd Sub3.点击菜单中的运行——运行子过程/用户窗体,如下图所示:待运行完成后,自定义样式就会被删除了,剩余个别删除不掉的,不影响使用。此时再复制或移动工作表就正常了。
备注:步骤2结束后也可直接关闭代码框,然后按组合键Alt+F8,打开宏编辑器,如下图所示:选择上图所示的宏,点击执行,待运行完成后即可。说明:表格执行完保存的时候,会提示如下图所示信息:
如果不想保留这段代码,直接点击 [是] ,若想保留代码以后用,点击 [否] ,然后在保存类型中选择“Excel启用宏的工作簿(*.xlsm)”,如下图所示:
如果是单个表格故障不建议保存代码。