Hallo,
gewöhne dir an, GoTo nicht zu verwenden. Der Befehl wird nicht sinnlos als veraltet betrachtet: Codes, die viel GoTo verwenden, sind sehr schwierig zu lesen. Benutze entweder for-Schleifen, oder do-loop schleifen (mit while or until):
https://de.wikibooks.org/wiki/VBA_in_Excel/_Schleifen
Also bei mir wird kommt keine Fehlermeldung, wenn ich deinen Code aufrufe.
Willst du wirklich jede zweite Zeile eine Zeile einfügen(?), oder möchtest du eher einen Block von Zeilen einfügen?
Falls du einen Block einfügen möchtest, benötigst du keine Schleife:
Sub ZeilenEinfuegen()
Dim n As Long, m As Long
n = 8
m = 100
Rows(n & ":" & m).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Ansonsten empfehle ich dir, von unten nach oben vorzugehen, dann kannst du die Zeilennummern (n und m) angeben, wie sie vor der Ausführung des Makros stimmen und musst nicht um die Ecke denken. Da bei dir vor Schleifenbeginn bereits klar ist, wie oft diese durchlaufen werden soll, bietet sich eine for-Schleife an:
Sub jedeZweiteZeileEinfuegen()
Dim n As Long, m As Long, Zeile As Long
n = 8
m = 54
For Zeile = m To n Step -1
Rows(Zeile).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Next
End Sub
Zumindest würde ich das an deiner Stelle bevorzugen.
kommst du klar?
Grüße, Ulrich
|