Как растянуть Макрос?
Есть Макрос, он копирует значения из нижней строки и вставляет в верхнюю.Как сделать, чтобы после удаления значений 2 строки, он перешёл на 3, 5,7,9,10 таких строк будет 2500

Ответы (1 шт):
Автор решения: vikttur
→ Ссылка
Из описания можно понять, что нужно перемещать данные не каждой строки, а через одну строку. Но по приведенному коду видно, что перемещаются данные каждой строки.
Если нужно через строку:
Sub MovingDataUpOneLine_Step()
Dim i As Long
For i = 2 To 2500 Step 2
Range(Cells(i, 1), Cells(i, 15)).Value = Range(Cells(i + 1, 1), Cells(i + 1, 15)).Value
Cells(i, 17).Value = Cells(i + 1, 17).Value
Range(Cells(i + 1, 1), Cells(i + 1, 15)).ClearContents
Cells(i + 1, 17).ClearContents
Next i
End Sub
Смещение всего массива данных на одну строку выше:
Sub MovingDataUpOneLine()
Range(Cells(2, 1), Cells(2500, 15)).Value = Range(Cells(3, 1), Cells(2501, 15)).Value
Range(Cells(2, 17), Cells(2500, 17)).Value = Range(Cells(3, 17), Cells(2501, 17)).Value
Range(Cells(2501, 1), Cells(2501, 15)).ClearContents
Cells(2501, 17).ClearContents
End Sub