Скопируйте столбец и вставьте его на другой лист, начиная со строки 15, затем через каждую 87-ю строку после - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь скопировать столбец (лист 2, диапазон («A6: A70»)) и вставить на лист 1. Я хочу, чтобы значение на листе 2 A6 было вставлено на лист 1 A15, а затем значение на листе 2 A7вставить 87 строк ниже A 15 и, таким образом, вставить весь столбец (лист 2, A6: A70) в каждую 87-ю ячейку листа 1.

Я пробовал разные команды .offset и

ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row + 1

но мне нужен цикл

, начинающийся с A15 и вставляющий первое значение

, а затем, возможно:

Прочитайте, где была последняя вставка, переместите 87 строк вниз, вставьте следующее значение и т.д.

1 Ответ

1 голос
/ 22 мая 2019

Не проверено, но что-то вроде этого возможно:

Dim copySheet As Worksheet
Dim pasteSheet As Worksheet

Set copySheet = Worksheets("Sheet1")
Set pasteSheet = Worksheets("Sheet2")

Dim i as Long
For i = 0 to 64
    pasteSheet.Range("A15").Offset(i * 87).Value = copySheet.Range("A6").Offset(i).Value
Next i

РЕДАКТИРОВАТЬ:

Если вы имеете дело со слитыми ячейками в pasteSheet, попробуйте

pasteSheet.Cells(15 + i*87, 1).Value = copySheet.Range("A6").Offset(i).Value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...