由于65,536行限制,我需要在2007年之前的工作簿中合并多个工作表的值,方法是复制并粘贴到2007年没有限制的工作簿中。
此代码适用于第一个工作表,但第二个工作表:
destRow = 65537
Set destRange = destSheet.Cells(destRow, 1)
Set srcRange = srcSheet.Range("A1:R65536")
srcRange.Copy destRange
导致以下错误:
"无法粘贴信息,因为复制区域和粘贴区域的大小不同。"
无论是手动还是使用VBA,我都会收到此错误。
答案 0 :(得分:1)
这似乎是2007年后Excel中的一个错误,当时复制整个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