Hat jemand eine Idee. Mit Worksheet_Change oder so?
Private Sub Worksheet_Change(ByVal Target As Range)
' Prüft ob eine Zeile eingefügt wurde
Dim c As Range, i&
' Änderung bei der ganze Zeile betroffen ist?
If Target.Cells.Count = 256 And Target.Rows.Count = 1 Then
On Error GoTo ErrorHandler
Set c = Target.Offset(1, 0)
i = c.Row ' Zeile unterhalb merken
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Undo ' letzte Aktion rückgängig
If c.Row < i Then i = 1 Else i = 0 ' Zeile verschoben?
Application.Repeat ' Aktion wiederholen
If i = 1 Then MsgBox "Eine Zeile eingefügt" ' hier weiterer Code...
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
Exit Sub
ErrorHandler:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub