Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1780to1784
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen in Tabelle verschieben mit VBA

Zeilen in Tabelle verschieben mit VBA
03.09.2020 11:37:44
Roman
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen in Tabelle verschieben mit VBA
04.09.2020 09:24:53
Roman
Habe einen Fehler im Text. Wenn ich die letzte Zeile mit dem Makro verschiebe, wird die Tabelle einfach erweitert. Das soll verhindert werden.
Wenn ich die erste Zeile versuche nach oben zu verschieben, kommt eine Fehlermeldung (logisch, da ja versucht wird die Überschriften auszuschneiden)
Da meine Tabelle nummeriert ist, habe ich schon überlegt, den Wert der ersten Spalte von der nächsten Zeile abzufragen, ob dieser leer ist oder nicht. Und falls er leer ist, dass das Sub beendet wird. Komme aber mit meinem Halbwissen leider nicht weiter.
AW: Zeilen in Tabelle verschieben mit VBA
04.09.2020 16:20:11
ChrisL
Hi
Wenn ich die erste Zeile versuche nach oben zu verschieben, kommt eine Fehlermeldung (logisch, da ja versucht wird die Überschriften auszuschneiden)
Die Aussage stimmt m.E. nicht, weil dies mit folgender Zeile bereits abgefangen wird:
If ActiveCell.Row > 1 Then
Dasselbe in Grün für MoveDown:
If ActiveCell.Row 
cu
Chris
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige