(InsertRows ist als Long dimensioniert, wenn "InputBox-Abbruch" wird versucht, einen String-Wert ("") zuzuweisen, da dies nicht geht wird ein Laufzeitfehler erzeugt. Normalerweise recht es, wenn man weiss, was man tut...
Wenn es benutzerfreundlicher sein soll, InsertRows as Variant dimensionieren und nach InputBox auf Numeric und/oder Leer ( = "" ) prüfen und damit Fehler verhindern.)
Private Sub CommandButton1_Click()
Dim Zeile As Long, Spalte As Integer
Dim InsertRows As Variant
Dim i As Long
Zeile = Selection.Row + 1
InsertRows = InputBox("Bitte Anzahl der einzufügenden Zeilen eingeben:")
For i = 1 To InsertRows Step 1
Selection.Offset(i, 0).EntireRow.Insert Shift:=xlDown
Selection.EntireRow.Copy Selection.Offset(i, 0).EntireRow
For Spalte = 1 To 256
If Not Cells(Zeile - 1 + i, Spalte).HasFormula Then Cells(Zeile - 1 + i, Spalte) = ""
Next Spalte
Next i
End Sub
thomas