Добрый день! Подскажите, как добавить автоматически пустые строки (в примере - 10 стр, может и 20, но думаю можно регулировать потом количество), перед каждой пустой ячейкой в столбце В? Количество строк может быть разным, большие объемы отчета не позволяют делать добавление в ручную на каждую строчку.
TheBestOfTheBest, вы меня подзапутали) в #1 прописано правильнее после чего и сколько строк. В итоге: добавить 10 строк (может и 20, но думаю можно регулировать потом количество), перед каждой пустой ячейкой в столбце В.
TheBestOfTheBest, азве это обязательно, я же написала автоматически? ранее не приходилось уточнять количество строк в файле, который в работе, я же прикрепила только пример. Может быть тысячи, может быть одна тысяча, а может и 500, это разные отчеты будут.
Sub En()
Dim a As Range
Application.ScreenUpdating = False
For Each a In Range("B3", Cells(Rows.Count, "B").End(xlUp)).SpecialCells(xlCellTypeConstants).Areas
a.Cells(a.Count + 1).Resize(10).EntireRow.Insert
Next
Application.ScreenUpdating = True
End Sub
Sub RowIns()
Dim rw As Long
Dim i As Integer
rw = 1
Do
rw = IIf(Cells(rw + 1, 2).Value = "", rw + 1, Cells(rw, 2).End(xlDown).Row + 1)
For i = 1 To 10 'Здесь регулируем число вставляемых строк
Rows(rw).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Next i
rw = rw + 11 'И здесь тоже
Loop While rw < Cells(Rows.Count, 2).End(xlUp).Row
End Sub
enot7 написал: азве это обязательно, я же написала автоматически? ранее не приходилось уточнять количество строк в файле, который в работе, я же прикрепила только пример. Может быть тысячи, может быть одна тысяча, а может и 500, это разные отчеты будут.
Если строк 20, то проще руками сделать, чем тратить время на отладку макроса, Если их 500-2000, то можно циклом с шагом -1 сделать. Если их 500 000, т надо мудрить с массивом, т.к. на листе добавление будет выполняться долго.
три абсолютно разных подхода. Кроме этого, Вам говорят третий раз, что надо указывать объем первоначальных данных, Вы же - "зачем". Кто лучше разбирается Вы или программист?
Ігор Гончаренко, доброго дня Вам. Периодически пользуюсь Вашей процедурой из #16. Скажите, возможно-ли как-то визуализировать изменение выбора вставки - перед какой строкой вставлять и сколько строк вставить (наверное, InputBox?)? А то каждый раз лазить для внесения изменений в тело макроса несколько неудобно . P.s. Вопрос решён вот таким макросом:
Код
Sub vstavka_strok() 'Вставить несколько строк с помощью VBA
Dim iRow As Long
Dim iCount As Long
Dim i As Long
iCount = InputBox(Prompt:="Сколько строк вы хотите добавить?")
iRow = InputBox _
(Prompt:="Перед какой строки вы хотите добавить новые строки? (Введите номер строки)")
For i = 1 To iCount
Rows(iRow).EntireRow.Insert
Next i
End Sub