每隔第n行插入相同的非空行

时间:2015-04-17 16:18:08

标签: excel-vba excel-formula vba excel

我需要能够在Excel工作表的每一行之间插入相同的5行数据。 5行不是空白,但包含需要重复的特定数据。 5行的来源可以在第二张纸上,也可以在sheet 1上的第2到第6行,这是最好的。遗憾的是,手动复制和粘贴不是一种选择,因为有数百行。有人能够就如何完成这项任务提供一些指导吗?

2 个答案:

答案 0 :(得分:0)

您需要使用宏来执行此操作:

Sub PasteRangeEveryNthRow()
Dim RW As Long, i As Long
RW = Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheet2").Range("A1:A5").Copy
For i = 1 To RW Step 1
    Range("A" & i).PasteSpecial Paste:=xlPasteFormulas
Next i
End Sub


此代码预先假定您正在从SHEET2复制范围 A1:A5 并将每个一行粘贴到最后一个数据列 A
基本上,您需要按 ALT + F11 在Excel中打开VBA窗口,然后转到 INSERT < / strong>&gt; MODULE 并在此处粘贴此代码。
然后从excel中的开发人员选项卡运行此宏。
如果您没有在Excel中看到开发人员选项卡,请转到选项并启用它。

答案 1 :(得分:0)

您可以在sheet 2中使用公式,如下所示:

=INDIRECT("Sheet1!"&ADDRESS(FLOOR(ROW()-1;5)/5+1;1))

通过使用此公式,您可以动态地每行5次,只要sheet1上的任何更改; sheet 2中的数据将会更新。

如果您想让他们静态Copy您的数据,Paste他们使用Values Only选项。