Здравствуйте! Нашел обычный макрос по добавлению строк:
[vba]
Код
Sub InsertRows() Dim i As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual For i = 20 To 20 Step -1 Cells(i, 1).EntireRow.Insert Next i .Calculation = xlCalculationAutomatic .ScreenUpdating = True End With MsgBox "Строки добавлены!", vbInformation, "Вставка строк" End Sub
[/vba]
Плиз, помогите прееобразовать его и понять суть. Мне нужно, чтоб на листе было, к примеру, 5 кнопок на вставку строчки после определенной ячейки. НО! Когда вставляешь строчку с первой кнопки, сразу весь диапазон ячеек переезжает на +1 и вторая кнопка вставляет ячейку уже не там где нужно.
В общем, попробую картинкой нарисовать.
Заранее благодарен) И, если возможно, объясните, как можно закрепить "кнопку" на добавление строчки за определенной позицией, чтоб, при добавлении строчки, все кнопки переезжали на кол-во добавленных позиций.
Здравствуйте! Нашел обычный макрос по добавлению строк:
[vba]
Код
Sub InsertRows() Dim i As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual For i = 20 To 20 Step -1 Cells(i, 1).EntireRow.Insert Next i .Calculation = xlCalculationAutomatic .ScreenUpdating = True End With MsgBox "Строки добавлены!", vbInformation, "Вставка строк" End Sub
[/vba]
Плиз, помогите прееобразовать его и понять суть. Мне нужно, чтоб на листе было, к примеру, 5 кнопок на вставку строчки после определенной ячейки. НО! Когда вставляешь строчку с первой кнопки, сразу весь диапазон ячеек переезжает на +1 и вторая кнопка вставляет ячейку уже не там где нужно.
В общем, попробую картинкой нарисовать.
Заранее благодарен) И, если возможно, объясните, как можно закрепить "кнопку" на добавление строчки за определенной позицией, чтоб, при добавлении строчки, все кнопки переезжали на кол-во добавленных позиций.Holmess
Сообщение отредактировал Pelena - Пятница, 19.08.2016, 11:26
Sub InsertRows() Dim i As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual 'Вставляет ОДНУ строчку над активной ячейкой ' Cells(ActiveCell.Row, 1).EntireRow.Insert 'ИЛИ ТАК 'Вставляет СТРОЧКИ над выделенными ячейками Selection.EntireRow.Insert Shift:=xlDown .Calculation = xlCalculationAutomatic .ScreenUpdating = True End With MsgBox "Строки добавлены!", vbInformation, "Вставка строк" End Sub
[/vba]
Holmess, может лучше так, чем куча кнопок? [vba]
Код
Sub InsertRows() Dim i As Long With Application .ScreenUpdating = False .Calculation = xlCalculationManual 'Вставляет ОДНУ строчку над активной ячейкой ' Cells(ActiveCell.Row, 1).EntireRow.Insert 'ИЛИ ТАК 'Вставляет СТРОЧКИ над выделенными ячейками Selection.EntireRow.Insert Shift:=xlDown .Calculation = xlCalculationAutomatic .ScreenUpdating = True End With MsgBox "Строки добавлены!", vbInformation, "Вставка строк" End Sub
Я делаю что-то вроде "шаблона" для людей, которые мне будут заполнять данные. Чтобы они не нарушили логику формул, я запретил редактировать жизненно важные ячейки. Я учел среднее кол-во строк, которые они должны будут заполнить, но, в некоторые случаях, людям понадобятся дополнительные строки. Теперь бы правильно пояснения к кнопке составить, так как они удалить вставленные ячейки уже не смогут XD
Да, так тоже пойдет) Спасибо)
Я делаю что-то вроде "шаблона" для людей, которые мне будут заполнять данные. Чтобы они не нарушили логику формул, я запретил редактировать жизненно важные ячейки. Я учел среднее кол-во строк, которые они должны будут заполнить, но, в некоторые случаях, людям понадобятся дополнительные строки. Теперь бы правильно пояснения к кнопке составить, так как они удалить вставленные ячейки уже не смогут XDHolmess