verwende folgendes Makro, um die Zeilen in einer Tabelle nach oben oder unten zu verschieben, ohne dabei andere Einträge zu löschen (weiß aber nicht, ob das der perfekte Code ist).
Das Problem ist, dass wenn ich die erste oder letzte Zeile verschieben möchte bzw. ausversehen versuche zu verschieben, kommt eine Fehlermeldung. Jetzt müsste in meinem Code der Anfang und das Ende der Tabelle definiert werden, denke irgendwas mit .End(xlUp) usw. Hier bin überfragt.
Hoffe, jemand von euch kann mir weiterhelfen und den Code vielleicht sogar optimieren, wenn etwas an ihm nicht passen sollte.
Danke im Voraus
Sub MoveDown()
Application.EnableEvents = False
Application.ScreenUpdating = False
Range(ActiveCell.Row + 1 & ":" & ActiveCell.Row + 1).Cut 'Cut row below
ActiveCell.EntireRow.Insert Shift:=xlDown 'Paste
ActiveCell.Offset(1, 0).Select 'Move down to it
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Sub MoveUp()
Application.EnableEvents = False
Application.ScreenUpdating = False
If ActiveCell.Row > 1 Then
Range(ActiveCell.Row & ":" & ActiveCell.Row).Cut 'Cut active row
ActiveCell.Offset(-1, 0).Select 'Move up a row
ActiveCell.EntireRow.Insert Shift:=xlDown 'Paste
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub