2017-03-22 5 views
1

65,536行制限のため、2007年以前のワークブックの値を複数のワークシートの値にマージする必要があります。 2007年のワークブックには限界がありません。Excel 2003からのエラーコピー:「情報を貼り付けることができません...」

は、このコードは、最初のワークシートのために働いたが、2番目のワークシート:次のエラーで

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

結果:

"The information cannot be pasted because the Copy area and the paste area are not the same size."

私は、またはを使って手動で操作を行うかどうか、このエラーを取得しますVBA。

答えて

1

これは、Excel 2003のシート全体をコピーして、A1ではない2007年以降のExcelの場所に貼り付けるExcel 2007以降のバグです。

回避策:

私は2つのチャンクにコピー/ペースト操作を分割した場合、それはエラーなしで動作します。

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 
関連する問題