Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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.
Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige