Страницы: 1
RSS
Макрос вставки строк с копированием формул
 
Добрый день,

Есть таблица с формулами и столбцом с выпадающим списком, нужно чтобы макрос по нажатию кнопки около итогов добавлял новую строку и копировал форматы и формулы без значений из строки выше.
На форуме я находил макрос вставки строк, но он привязан к activecell, соответственно нужно каждый раз руками выбирать ячейку над которой нужно вставить строку, и строка вставлялась пустая. А нужно чтобы макрос автоматом вставлял над итогом новую строку. Модифицировать макрос у меня не получилось, я пока только учусь  :oops:

Жду помощи и заранее больше спасибо.  
 
Так?
 
Я пока смог только в добавление строки над итогом. Как скопировать формулы не разобрался пока  :(
Код
Sub vststr()
    With ActiveSheet
        LastRow = .Cells(65536, 3).End(xlUp).Row
        .Rows(LastRow).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    End With
End Sub 
 
МатросНаЗебре,

Спасибо, работает :) Код более изящный, пойду разбираться, спасибо!
 
Вариант
Код
Sub vststr()
    With ActiveSheet
        LastRow = .Cells(Rows.Count, 3).End(xlUp).Row
        With .Rows(LastRow)
            .Copy
            .Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        End With
            .Rows(LastRow + 1).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    End With
    Application.CutCopyMode = False
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Sanja,
спасибо, тоже работает! но можно ли при вставке сделать проверку на формулы и вставлять только их? в текущих вариантах вставляются и ячейки с данными забитыми руками
Изменено: delete as... - 05.02.2014 14:36:46
 
пойдёт?
 
Знаю, что попросите в следующий раз - высылаю желаемое.
Сумма в итогах исправлена.
 
Добрый день!
У меня вопрос похож на проблему создателя темы:
При нажатии на кнопку "Button1" добавляется то кол-во строк, которое указано на листе "CNR" в ячейке A1, но добавляются они с форматом 2-й строки, а нужно, что строки добавлялись с форматом и формулами нижней строки.
 
МатросНаЗебре, при добавлении строки не создается выпадающий список по валюте.
 
Sanja, вылетает ошибка Compile error: Variable not defined при запуске макроса. Указывает на LastRow =
 
Добрый день, уважаемые форумчане.
В моем случае добавление строк я оставил на выбор пользователя, после этого макрос должен скопировать формулы над ней и вставить в добавленную пользователем строку.
К сожалению, самому по вашим примерам решить пока не удалось. Буду благодарен за любой совет.

Код
Sub Добавление_строк_пользователем()

'для получения выбранного значения
Dim vRetVal
vRetVal = InputBox("Введите номер добавления строки:", "Добавление нужной строки", "")

'используем Val для преобразования текста vRetVal в число
'Val() преобразует число как текст в число.
'Если будет указан текст(например "третий") - он будет преобразован в 0
vRetVal = Val(vRetVal)
   
    If Val(vRetVal) = 0 Then
        MsgBox "Номер строки должен быть целым числом больше нуля!", vbCritical, "DelCols"
        Exit Sub
    End If

Rows(vRetVal).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

End Sub 
Изменено: zaolog - 02.02.2020 13:14:11
Страницы: 1
Наверх