Hallo Zusammen,
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
If ActiveCell.Row > 1 ThenDasselbe in Grün für MoveDown:
If ActiveCell.Row < Cells(Rows.Count, 1).End(xlUp).Row Thencu