質問: ユーザーが作業中のアクティブ シートに行を追加できるボタンを設定したいと考えています。バックグラウンドで、追加された場所と同じ場所にある同じワークブックの別のシートに、スプレッドシートで行を追加したいと考えています。(2 つのシートは、前月の情報を持つ非アクティブなワークシートとのみ同一です) これを行う必要があるのは、アクティブなワークシートが非アクティブなシートからデータを取得しており、同じ行数を保持したいからです。両方のシートにデータが同じ行にあるため、正しいデータが取得されます。
ユーザーが手動でコピーする必要がないように、選択行から数式をコピーすることも追加しました。それが問題の原因だと思います。
エラーをクリアする方法についてのアイデア:
実行時エラー '1004':
Range クラスの PasteSpecial メソッドが失敗しました
現在のワークシートと他の 3 つの行に行を挿入する方法を MS Excel VBAで使用したコードのアイデアを得ました。
私のコード
Sub AddRow()
'
' Row Macro
ActiveWorkbook.Names.Add Name:="CopyRow", RefersToR1C1:=Rows(ActiveCell.Row)
Range("CopyRow").Select
Selection.Copy
Dim Lst As Long
Lst = ActiveCell.Row
Worksheets("SOV Detailed Breakdown").Rows(Lst).Insert
Worksheets("Previous Application").Rows(Lst).Insert
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveWorkbook.Names("CopyRow").Delete
End Sub