复制并粘贴每第N行

时间:2010-06-22 15:12:16

标签: excel vba excel-vba

我需要一个宏来复制一个工作表中的列并粘贴到每个第5行的另一个电子表格中。我已经尝试过使用代码片段,但是我没有找到一个可以修改的代码片段。这让我疯狂。我相信对于那些使用VB代码更高级的人来说,这很容易。

复制,直到A列为空

[Workbook1]
Column A
Name1
Name2
Name3
Name4
etc.


[Workbook2]
Column A
Paste Name1 in Row 5
Paste Name2 in Row 10
Paste Name3 in Row 15
Paste Name4 in Row 20
etc.

1 个答案:

答案 0 :(得分:4)

我们可以假设两个工作表都在同一个工作簿中吗?如果是这样,它可能看起来像下面的代码:

Sub Test()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim lngRowCounter As Long
Dim lngRowMultiplier As Long


lngRowCounter = 1
lngRowMultiplier = 5

Set ws1 = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")

Do While Not IsEmpty(ws1.Range("A" & lngRowCounter))
  ws2.Range("A" & lngRowCounter * lngRowMultiplier).Value = _
    ws1.Range("A" & lngRowCounter).Value
  lngRowCounter = lngRowCounter + 1
Loop

End Sub

您可以将Sub的内容粘贴到宏功能中,也可以将该代码粘贴到宏模块的底部,并在宏中放置一行代码Call Test。 / p>

我希望这会有所帮助。