宏复制23K行后用xlExcel5保存仅存16K,原因及数据去向?
问题描述
我有一个按成本中心拆分大文件(900K行)的宏,该宏会定位各成本中心数据的起始行与结束行,将对应数据复制到新工作簿后保存,循环直至处理完整个大文件。本月某成本中心的数据共23K行,调试宏时确认已完整复制粘贴23K行至新工作簿,但执行以下代码保存后:
Workbooks(MyTemplate).SaveAs Filename:=SaveName, FileFormat:=xlExcel5, Password:=MyPass(Y), ReadOnlyRecommended:=False, CreateBackup:=False
打开该成本中心文件后仅显示16K行,请问此问题原因是什么,丢失的7K行去向何方?
问题分析与解答
根本原因:旧文件格式的行数限制
xlExcel5对应的是Excel 95兼容格式,这个格式的单工作表最大支持行数仅为16384行(约16K行)。你复制的23K行数据超出了该格式的上限,在执行SaveAs保存时,超出上限的部分会被Excel直接截断,不会写入到目标文件中,因此打开后只能看到前16384行。丢失行的去向
超出16384行的7K左右数据没有被保存到目标文件,在保存操作时就被格式限制过滤掉了,不会留存于任何位置。
内容的提问来源于stack exchange,提问作者Shaves
相关产品推荐
相关产品推荐

