Zeilen einfügen lt Zellangabe

Hallo zusammen,

ich benutze den Code unten um in einem Excelblatt per Schaltfläche eine Zeile einzufügen. Nun soll der Code so umgebaut werden, dass mehr als eine Zeile auf einmal eingefügt werden kann. Dazu soll in einer Zelle, z.B. a1, die Anzahl der einzufügenden Zeilen stehen. Wie müsste der Code unten umgeschrieben werden, damit das geht?

Gruß
ml

y = Range("b:b").Find(what:="Summe", LookIn:=xlFormulas).Row - 2
 Rows(y + 1).Insert
 Rows(y).Copy Cells(y + 1, 1)
Cells(y, 2).Select

ich benutze den Code unten um in einem Excelblatt per
Schaltfläche eine Zeile einzufügen. Nun soll der Code so
umgebaut werden, dass mehr als eine Zeile auf einmal eingefügt
werden kann. Dazu soll in einer Zelle, z.B. a1, die Anzahl der
einzufügenden Zeilen stehen. Wie müsste der Code unten
umgeschrieben werden, damit das geht?

Hallo Mamma,

Sub tt()
Dim y
y = Range("b:b").Find(what:="Summe", LookIn:=xlFormulas).Row - 2
Rows(y + 1).Resize(Range("A1").Value, 1).EntireRow.Insert
Rows(y).Copy Cells(y + 1, 1)
Cells(y, 2).Select
End Sub

Gruß
Reinhard

Hallo Mamma,

Sub tt()
Dim y
y = Range(„b:b“).Find(what:=„Summe“, LookIn:=xlFormulas).Row -
2
Rows(y + 1).Resize(Range(„A1“).Value, 1).EntireRow.Insert
Rows(y).Copy Cells(y + 1, 1)
Cells(y, 2).Select
End Sub

Hallo Reinhardt,
danke, funktioniert gut bis auf eine Sache: Im Blatt über dem Begriff Summe befinden sich in einigen Spalten Formeln, die leider nicht mitkopiert werden, wenn Zeilen eingefügt werden. Diese müßten aber wie bei meinem Ausgangscode auch kopiert werden.

Gruß
ml

danke, funktioniert gut bis auf eine Sache: Im Blatt über dem
Begriff Summe befinden sich in einigen Spalten Formeln, die
leider nicht mitkopiert werden, wenn Zeilen eingefügt werden.
Diese müßten aber wie bei meinem Ausgangscode auch kopiert
werden.

Hallo Mamma,

gehen wir mal davon aus in A1 steht eine 3, bastle mal eine kleine Beispielmappe mit zwei Blättern. In Blatt1 sieht man die Tabelle wie sie ist, in Blatt 2 erstellst du manuell die Tabelle wie sie nach einem Makro sein soll.
Hochladen mit FAQ:2861 o.ä.

Gruß
Reinhard

danke, funktioniert gut bis auf eine Sache: Im Blatt über dem
Begriff Summe befinden sich in einigen Spalten Formeln, die
leider nicht mitkopiert werden, wenn Zeilen eingefügt werden.
Diese müßten aber wie bei meinem Ausgangscode auch kopiert
werden.

Hallo Mamma,

gehen wir mal davon aus in A1 steht eine 3, bastle mal eine
kleine Beispielmappe mit zwei Blättern. In Blatt1 sieht man
die Tabelle wie sie ist, in Blatt 2 erstellst du manuell die
Tabelle wie sie nach einem Makro sein soll.
Hochladen mit FAQ:2861 o.ä.

Hallo Reinhardt,

unten ist der Link zur Datei, denke ein Blatt reicht. Wenn man auf den Button klickt, wird die Anzahl der Zeilen eingefügt, die in A1 stehen, wobei leider in der Spalte mit den Formeln diese nicht mitkopiert werden.

Gruß
ml

http://www.hostarea.de/server-12/Dezember-a7f6cb1458…

danke, funktioniert gut bis auf eine Sache: Im Blatt über dem
Begriff Summe befinden sich in einigen Spalten Formeln, die
leider nicht mitkopiert werden, wenn Zeilen eingefügt werden.
Diese müßten aber wie bei meinem Ausgangscode auch kopiert
werden.

http://www.hostarea.de/server-12/Dezember-a7f6cb1458…

Hallo Ml,

Private Sub CommandButton1_Click()
Dim y As Long
y = Range(„b:b“).Find(what:=„Summe“, LookIn:=xlFormulas).Row
Rows(y).Resize(Range(„a1“).Value, 1).EntireRow.Insert
Rows(y - 1).Copy Cells(y, 1).Resize(Range(„a1“).Value, 1)
Cells(y, 2).Select
End Sub

Gruß
Reinhard

Private Sub CommandButton1_Click()
Dim y As Long
y = Range(„b:b“).Find(what:=„Summe“, LookIn:=xlFormulas).Row
Rows(y).Resize(Range(„a1“).Value, 1).EntireRow.Insert
Rows(y - 1).Copy Cells(y, 1).Resize(Range(„a1“).Value, 1)
Cells(y, 2).Select
End Sub

Hallo Reinhard,
danke, das klappt jetzt. Wie müsste man das ganze abändern, wenn die Anzahl der einzufügenden Zeilen nicht in einer Zelle (A1), sondern direkt im Code in einer Variablen stehen soll. Hab es schon selbst probiert, bin aber anscheinend zu doof dafür.

Gruß
ml

danke, das klappt jetzt. Wie müsste man das ganze abändern,
wenn die Anzahl der einzufügenden Zeilen nicht in einer Zelle
(A1), sondern direkt im Code in einer Variablen stehen soll.
Hab es schon selbst probiert, bin aber anscheinend zu doof
dafür.

Hallo ML,

Private Sub CommandButton1_Click()
Dim y As Long
Const Anzahl As Integer = 3 'Anpassen
y = Range(„B:B“).Find(what:=„Summe“, LookIn:=xlFormulas).Row
Rows(y).Resize(Anzahl, 1).EntireRow.Insert
Rows(y - 1).Copy Cells(y, 1).Resize(Anzahl, 1)
Cells(y, 2).Select
End Sub

Gruß
Reinhard