楼主 wjh619993018 |
同事有一张2003版表格,不能插入列了,在插入时总提示“为防止可能的数据丢失,Microsoft office excel不能移去工作表的空白单元格......”。经过检查,找到了其中的原因,原来,作者为了不显示网格线,先将整张工作表的底色全部用白色填充,如果需要其它颜色再进行更改,这样,由于整张工作表的格式都进行了设置,因此不能插入列了。 事情到这里本来已经解决了,但是在找问题的过程中,又发现了一个新问题:在整张工作表填充底色为白色的前提下,新打开这个文件,可以插入一次整列(1列或几列),之后再也不能插入整列了,经过反提试验发现一个规律,就是每当保存一次工作薄,就能插入一次列,第二次就不能再插入了,用2007版Excel打开此文件,则无此问题,百思不得其解,也问过一些Excel方面的高手,都不知其中原因,经过多次试验和摸索,终于弄明白了其中的奥妙。 原来,每保存一次工作薄,相当于重新打开一次工作薄,如果保存前统一设置了整张工作表的格式,如统一添加底色、统一添加边框等,保存后再次打开,系统只检测到单元格有内容的部分,对于统一设置的空白单元格,则视为空单元格,正因为系统认为有大量空单元格存在,当执行插入操作时,理所当然的能够完成,如果这时打印的话(不进行任何打印设置),就只能打印有数据的部分,而不能打整张工作表。可是如果执行了一次插入或删除操作,发生了单元格移动(实际上就是单元格内容和格式的转移),系统就会检测到,原来那些被视为“空”的单元格都不同于默认状态下的空单元格,这一点从第一次插入整列的速度(几秒钟才能完成,占用了大量的内存)就能证明,如果数据右侧全部是默认状态下的空单元格,插入整列的过程几乎在瞬间就可以完成,于是系统就将整张工作表都视为有“内容”的单元格,这时再插入列或单元格,都会出现上文所说的提示,并不允许插入列或单元格,这时如果打印(不进行任何打印设置)就会打印整张工作表。 由于该问题是第一次碰到,拿出来与大家分享,上述说法如有不妥或错误,也请指正,谢谢! 222.zip |
2楼 larkzh |
学习了。 |