从Excel 2003中复制时出错:“无法粘贴信息…”

由于65,536行限制,我需要合并2007年以前的工作簿中的几个工作表的值,通过复制并粘贴到没有限制的2007年后工作簿中。

此代码适用于第一个工作表,但第二个工作表:

destRow = 65537 Set destRange = destSheet.Cells(destRow, 1) Set srcRange = srcSheet.Range("A1:R65536") srcRange.Copy destRange 

导致以下错误:

“由于复制区域和粘贴区域的大小不一样,所以无法粘贴信息。”

无论手动执行操作还是使用VBA,我都会遇到此错误。

这似乎是在Excel 2007年后,复制整个Excel 2003工作表并将其粘贴到不是A1后2007年Excel位置中的一个错误。

解决方法:

如果我将复制/粘贴操作分成两个块,则不会出错:

 destRow = 65537 ' Chunk 1 Set destRange = destSheet.Cells(destRow, 1) Set srcRange = srcSheet.Range("A1:R65535") srcRange.Copy destRange ' Chunk 2 Set destRange = destSheet.Cells(destRow + 65535, 1) Set srcRange = srcSheet.Range("A65536:R65536") srcRange.Copy destRange