Скопируйте и вставьте каждую N-ю строку - PullRequest
0 голосов
/ 22 июня 2010

Мне нужен макрос, который будет копировать столбец с одного листа и вставлять в другую таблицу в каждой 5-й строке. Я пытался использовать фрагменты кода, но я не нашел ни одного, который я мог бы изменить, чтобы сделать эту работу. Это сводит меня с ума. Я уверен, что это довольно легко для тех, кто более опытен с VB-кодом.

Копировать, пока столбец А не станет пустым

[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 Ответ

4 голосов
/ 22 июня 2010

Можно ли предположить, что оба листа находятся в одной и той же книге? Если это так, он может выглядеть следующим образом:

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 в ваш макрос.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...