Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1836to1840
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

Zellen verschieben / Zeilen löschen

Zellen verschieben / Zeilen löschen
15.07.2021 12:29:06
Manfred
Hallo zusammen,
ich versuche gerade zwei Makros zu erstellen, habe jedoch leider keinerlei Ahnung von der Materie...
1.) Es sollen unterhalb einer aktiven Zelle 32 Zeilen komplett gelöscht werden. Danach soll der Cursor um 30 Zellen nach unten springen und den Vorgang wiederholen bis er am Tabellenende angekommen ist (kann das Makro das erkennen?)
2.) Das zweite Makro soll die Zelle unterhalb der aktiven ausschneiden und um drei Zellen nach rechts und eine nach oben verschieben. Dann eins nach rechts springen und denselben Vorgang wiederholen. das ganze dreimal. Danach drei Zellen nach unten und den o.g. Vorgang wiederholen. Das ganze wieder bis zum Ende der Tabelle.
Hier habe ich schon mal woanders was rauskopiert, es funktioniert jedoch nur die erste Verschiebung. Danach erscheint Fehler 400.
Zur besseren Veranschaulichung:
A26->D25
B26->E25
C26->F25
A29->D28
B29->E28
C29->F28
und so weiter
bisher habe ich dies hier:

Sub verschieben()
Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
Selection.Cut Destination:=Cells(ActiveCell.Row - 1, ActiveCell.Column + 3)
Cells(ActiveCell.Offset(0, 1).Select, ActiveCell.Column).Select
Selection.Cut Destination:=Cells(ActiveCell.Row - 1, ActiveCell.Column + 3)
Cells(ActiveCell.Offset(0, 1).Select, ActiveCell.Column).Select
Selection.Cut Destination:=Cells(ActiveCell.Row - 1, ActiveCell.Column + 3)
End Sub
Kann mir bei meinem Vorhaben jemand helfen? Vielen Dank schon mal vorab.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen verschieben / Zeilen löschen
15.07.2021 16:38:56
Yal
Hallo Manfred,
ein "Select" sollte nicht innerhald eine cells(...).Select sein.
bad:

Cells(ActiveCell.Offset(0, 1).Select, ActiveCell.Column).Select
Im allgemein ist Select und Activate durch den Makro-Rekorder verursacht und spiegelt ein Menschen-Verhalten. Beim Programmieren muss man sich davon lösen.

Sub verschieben()
Dim Z As Range
For Each Z In ActiveCell.Resize(3, 1)
Z.Offset(1, 0).Cut Destination:=Z.Offset(-1, 3)
Next
End Sub
VG
Yal
Anzeige

285 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige