2016-06-15 8 views
1

上記の行の数式を自動的に含む複数の行をユーザーが挿入できるExcelシートがあります。私は、単一の行のために次の式をプログラムしています数式を含む複数の行を挿入します。

Sub Insert_Single_Row() 
ActiveCell.EntireRow.Copy 
Tabelle3.Range("A28").EntireRow.Insert 
End Sub 

はしかし、私は複数の行を挿入したい私は、この式を見つけたので:

Sub Insert_Multiple_Rows() 
    Dim CurrentSheet As Object 
    For Each CurrentSheet In ActiveWindow.SelectedSheets 
    CurrentSheet.Range("A28:A50").EntireRow.Insert 
    Next CurrentSheet 
End Sub 

この式は、複数の行の数を挿入します。ただし、挿入された行の上の行から数式をコピーすることはありません。

これらのコードをどのように組み合わせるか考えていますか?シートに複数の行を挿入すると、挿入された行の上の行の数式がすべてコピーされます。

ありがとうございました。

+0

はなぜ 'レンジ( "A28:A50")がされて'ハードコーディングされましたか?あなたはいつもその場所に挿入したいですか? –

+0

申し訳ありません。範囲は "A28:A50"ではなくハードコーディングされている必要があります。その代わりに、上のすべての数式を含む列全体がA列からコピーされるべきであるため、「28:50」にする必要があります。 – Michi

答えて

1

これはトリックを行う必要があり、あなたがすでに持っていたコードのこだわり:

Sub Insert_Multiple_Rows() 

Dim CurrentSheet As Object 

    For Each CurrentSheet In ActiveWindow.SelectedSheets 

     CurrentSheet.Range("A28:A50").EntireRow.Insert 
     CurrentSheet.Range("A27:A50").EntireRow.Formula = CurrentSheet.Range("A27").EntireRow.Formula 

    Next CurrentSheet 

End Sub 
+0

私は自分の答えを編集しました。 – Sun

+0

こんにちはサン、完璧に動作します。どうもありがとう :-) – Michi

関連する問題