Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bestimmten Zellenbereich verschieben

Bestimmten Zellenbereich verschieben
11.12.2007 18:21:00
Erwin
Hallo Excel-Experten,
ich habe gestern hier angefragt ob jemand zu meinem Problem eine Lösung hat:
Ich habe eine größere Excel-Tabelle, in der in Spalte A mehrere verschiedene Namen/Begriffe stehen. Jetzt möchte ich eine Schleife erstellen, die alle Einträge in Spalte A mit Montag, Dienstag und Mittwoch bis 5 Zellen rechts davon bis zur Spalte E markieren, ausschneiden und in derselben Zeile bei Spalte F wieder einfügen. Praktisch die gesamten Zellen um 6 Spalten verschieben.
Paulchen hat mir sehr schnell ein tolle Lösung geschickt, die auch super funktioniert:

Sub verschieben()
Dim rng As Range
Dim ALetzte As Long
'## Letzte nichtleere Zelle in Spalte A ermitteln
ALetzte = IIf(IsEmpty(Range("A65536")), Range("A65536").End(xlUp).Row, 65536)
'## Einträge verschieben
For Each rng In Sheets("Tabelle1").Range("A1:A" & ALetzte)
If rng = "Montag" Or rng = "Dienstag" Or rng = "Mittwoch" Then Range(Cells(rng.Row, 1),  _
Cells(rng.Row, 5)).Insert Shift:=xlToRight
Next
End Sub


Das Problem, das ich nun habe ist dies, dass ich auch Tabellen habe, in denen ich 8 Zellen bis Spalte H markieren und ausschneiden, aber bereits in Spalte F, also in der 6 Zelle einfügen muss. Und da geht die letzte Zeile „Cells(rng.Row, 5)).Insert Shift:=xlToRight“ nicht mehr und ich bekomms einfach nicht hin!
Kann mir jemand helfen?
Wäre super!!!!
Schöne Grüße
Erwin

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Bestimmten Zellenbereich verschieben
11.12.2007 19:12:09
fcs
Hallo Erwin,
in diesem fall muss du zuerst die Zellen in den Spalten 6 bis 10 nach rechts verschieben durch Einfügen von Leerzellen.
Anschließend die Inhalte in Spalten 1 bis 5 ausschneiden und in den neuen Leerzellen einfügen.
Gruß
Franz

Sub verschieben()
Dim rng As Range
Dim ALetzte As Long
'## Letzte nichtleere Zelle in Spalte A ermitteln
ALetzte = IIf(IsEmpty(Range("A65536")), Range("A65536").End(xlUp).Row, 65536)
'## Einträge verschieben
For Each rng In Sheets("Tabelle1").Range("A1:A" & ALetzte)
If rng = "Montag" Or rng = "Dienstag" Or rng = "Mittwoch" Then
Range(Cells(rng.Row, 6), Cells(rng.Row, 10)).Insert Shift:=xlToRight
Range(Cells(rng.Row, 1), Cells(rng.Row, 5)).Cut Destination:=Cells(rng.Row, 6)
End If
Next
End Sub


Anzeige
AW: Bestimmten Zellenbereich verschieben
11.12.2007 19:55:38
Erwin
Hallo Franz,
wahnsinn, da spiel ich mich den ganzen Tag und Ihr Experten schüttelt es so aus dem Ärmel, als sei es eine "Allerweltsformel".
Ich danke Dir und wünsche noch einen schönen Abend
Schöne Grüße
Erwin
;

Forumthreads zu verwandten Themen

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