请帮助我调试此代码。我正在从100个文件中编写报告。该代码适用于几乎所有文件,但对于某些文件会弹出此错误。所有文件的格式都相同,只是行数不同
sh.Range("A2:H" & lastRow).Copy
Destination:=wb1.Worksheets("MainSheet").Range("A" & mainrow)
A2&last row = A2:H17408
"A" & mainrow=A1033559
答案 0 :(得分:0)
有多个原因会收到此错误消息 1.将合并的单元格粘贴到非合并的单元格时,反之亦然。 2.当您在工作表上应用过滤器并尝试粘贴与复制的数据大小不同的数据时。
答案 1 :(得分:0)
您的代码太有限,无法确保100%正确答案,因为我们看不到您如何定义变量。 但是,假设已正确定义它们,则最好使用以下方法:
Dim ws as worksheet
Set ws = wb1.Sheets("MainSheet")
' Range goes from columns A to H with mainrow and LastRow as variable rows
ws.Range(ws.Cells(mainrow, 1), ws.Cells(LastRow, 8)).Value = sh.Range(sh.Cells(mainrow, 1), sh.Cells(LastRow, 8)).Value
代替复制粘贴。 除此之外,请确保正确定义了mainrow和LastRow。如有疑问,请将您的代码的这一部分添加到已编辑的问题中,以便我们进行查看。