VBA复制一张纸上的所有行并将其粘贴到新纸上n次

时间:2018-09-17 12:58:56

标签: excel vba

我的工作表的行数有所不同。但是有72列[A到BT]。 有人可以提供我VBA代码,以将X行的行数复制到同一工作簿中的新工作表n次吗?

下面是我的代码,但是在这里,我可以复制1200行,但不能粘贴。

Sub test()
nrows = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
Sheet1.Rows("1200").Copy
Sheet2.Rows("A1").Select
ActiveSheet.Paste
End Sub

我什至尝试过

Sheet2.Rows(“ 1”)。选择

在两种情况下,我都收到错误“ 424”,需要对象。需要帮助解决此问题,以后我想放一个循环将其复制到n张纸上n次,每次将其粘贴到X * n + 1行时,其中X是行数,n是要复制的行的次数。请协助我进行一次复制,如果您能给我任何指向循环的指针,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

仅选择目标范围的顶部,左侧单元格,而不是选择整个行进行粘贴。 (请注意,如果您尝试以用户身份进行操作,Excel会告诉您目标范围的大小必须与源范围的大小相匹配。因此,作为用户,您只需在粘贴之前单击一个单元格即可。同一件事在VBA中。)

此外,无需真正选择目标范围即可粘贴到目标范围。

Sub test()
  nrows = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
  Sheet1.Rows("1200").Copy
  Sheet2.Range("A1").PasteSpecial
End Sub