В моем Excel есть 1 столбец и 10 строк последовательных чисел. Я хочу создать макрос, который мог бы начинаться с верхнего значения столбца, затем вставлять 2 строки с первым значением списка, а затем переходить ко второму значению и делать то же самое и так далее.
Values Column
1
2
3
Result Column
1
1
1
2
2
2
3
3
3
Итак, вы говорите вставить 2 строки, но ваш пример показывает дополнительные столбцы... что бы это было? строки или столбцы? .nvm... был отредактирован.
@erazorv4: я пытался вставить строки, но получил ошибку 1004.
@DarXyde Это строки, спасибо за редактирование
@Aaron6 Aaron6 Мы не сможем вам помочь, если вы не покажете код, ошибка 1004 может быть вызвана многими причинами. редактировать ваш вопрос с кодом, который вы пытаетесь, и в какой строке ошибка.
Я думаю, что это сделает:
Sub insertRows()
Dim ws As Worksheet: Set ws = ActiveSheet
Dim lastRow As Long: lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
Dim R As Long
For R = lastRow To 2 Step -1
ws.Rows(R & ":" & R + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ws.Range(ws.Cells(R, 1), ws.Cells(R + 1, 1)) = ws.Cells(R + 2, 1).Value
Next R
End Sub
PS: это работает снизу... не сверху вниз.
Это работает хорошо. Я только что изменил цикл для R с 2 на 1, и он также включал первое значение. Большое спасибо за решение.
Я забыл об этом, думая о заголовках, но да. Рад, что это работает для вас.
Можете ли вы помочь мне с этим решением, пожалуйста, спасибо! stackoverflow.com/q/56360207/11468228
Не могли бы вы показать, что вы пробовали до сих пор?