Устранение ошибки при добавлении строк в несколько листов

Я спросил об этом раньше, но не могу понять, как получить код, который я использую, чтобы выглядеть чисто в комментарии, чтобы люди могли его прочитать. Итак, перепродажа здесь.

Вопрос: Я хочу настроить кнопку, которая позволит пользователю добавить строку к активному листу, над которым они работают. В фоновом режиме я хочу, чтобы электронная таблица добавила строку на другом листе в той же книге в том же месте, что и тот, который был добавлен. (два листа идентичны только с неактивным рабочим листом, имеющим информацию из предыдущего месяца). Причина, по которой мне это нужно, – это то, что активный лист извлекает данные из неактивного листа, и я хочу сохранить такое же количество строк в оба листа с данными на обоих в тех же строках, чтобы они вытащили правильные данные. Спасибо за любой совет, который у вас есть!

Я добавил также копирование формул из строки выбора, поэтому пользователю не нужно копировать вручную, и я думаю, что именно это и вызывает проблему.

Любая идея о том, как очистить ошибку:

Ошибка времени выполнения «1004»: не удалось установить метод PasteSpecial класса Range

Получил идею для кода, который я использовал в MS Excel VBA, как вставить строку в текущий рабочий лист и три других

Мой код

Sub AddRow () '' Макрос строк

ActiveWorkbook.Names.Add Name:="CopyRow", RefersToR1C1:=Rows(ActiveCell.Row) Range("CopyRow").Select Selection.Copy 

Dim Lst As Long

Lst = ActiveCell.Row

Рабочие листы («Детальное разбиение SOV»). Строки (Lst) .Интересные рабочие листы («Предыдущее приложение»). Строки (Lst) .Insert

  Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False ActiveWorkbook.Names("CopyRow").Delete 

End Sub

Ошибка возникает в методе PasteSpecial , что необязательно. Когда буфер заполняется так, следующий оператор Insert автоматически выполняет операцию вставки.

Я убираю его, чтобы избавиться от Name которое я не думаю, что вам действительно нужно.

 Sub AddRow() ' ' Row Macro Dim Lst As Long Rows(ActiveCell.Row).Copy Lst = ActiveCell.Row Worksheets("SOV Detailed Breakdown").Rows(Lst).Insert Worksheets("Previous Application").Rows(Lst).Insert End Sub 
Interesting Posts
Давайте будем гением компьютера.