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

Forumthread: Zellinhalte bis Spalte B verschieben?

Zellinhalte bis Spalte B verschieben?
04.05.2021 21:45:54
Dino
Hallo Leute,
wenn in Zelle A2=Projekt: steht, dann sollen die Zellinhalte rechts bis Spalte B verschoben werden. Das gleiche gilt bei Übereinstimmung mit Zellen A3, A4 und A5.
A2=Projekt:
A3=Ersteller:
A4=Datum / Zeit:
A5=Hinweis:
Das habe ich wie folgt lösen können. Soweit alles in Ordnung :-)

Sub Move_Text()
If Range("A2").Value = "Projekt:" Then
Row("2:2").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
End If
If Range("A3").Value = "Ersteller:" Then
Range("B3:AA3").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
End If
If Range("A4").Value = "Datum / Zeit:" Then
Range("B4:AA4").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
End If
If Range("A5").Value = "Hinweis:" Then
Range("B5:AA5").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
End If
End Sub
Frage 1: Muss ich für Range("B5:AA5").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft muss ich den Range eingeben oder kann ich in diesem Fall die Zeile eintragen?
Frage 2: In einem anderen Makro habe ich dies Range(Range("START").Address(False, False) & ":" & Left(LetzteSpalte.Address(False, False), IIf(LetzteSpalte.Column > 26, 2, 1)) & Range("START").Row) benutzt um bestimmten Zellbereich anzusprechen.
Das wäre der Bereich ab START-Zelle bis letzte benutzte Spalte der START-Zeile. Soweit in Ordnung.
Meiner Meinung kann man den fett markierten Bereich einfacher darstellen oder?
Gruß Dino
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalte bis Spalte B verschieben?
04.05.2021 22:57:42
Daniel
Hi
1. Ja, geht auch mit ganzer Zeile
2. bei Range kann man den Zellbereich nicht nur die Adresse angeben, sondern auch über die Eckzellen als Rangeobjekte

Range(Range("START"), Intersect(Range("START").entireRow, LetzteSpalte.EntireRow))
Oft ist auch Resize eine elegante Methode um Bereiche zu beschreiben:

Range("Start").Resize(, LetzteSpalte.Column - Range("Start").Column + 1)
Gruß Daniel
Anzeige
AW: Zellinhalte bis Spalte B verschieben?
04.05.2021 23:42:26
Dino
Hallo Daniel,
vielen Dank für deine Antwort.
zu 1: was muss ich bitte ändern? :-)
zu 2: Dies Range(Range("START"), Intersect(Range("START").EntireRow, LetzteSpalte.EntireRow)).Interior.ColorIndex = 36 hat nicht wie gewünscht funktioniert. Es wurde ganze Zeile farbig dargestellt. Das hat funktioniert: Range("START").Resize(, LetzteSpalte.Column - Range("START").Column + 1).Font.ColorIndex = 22

Sub Color()
Dim LetzteSpalte As Range
Set LetzteSpalte = ActiveSheet.Cells(Range("START").Row, Columns.Count).End(xlToLeft)
Range(Range("START"), Intersect(Range("START").EntireRow, LetzteSpalte.EntireRow)).Interior.ColorIndex = 36
Range("START").Resize(, LetzteSpalte.Column - Range("START").Column + 1).Font.ColorIndex = 22
End Sub
Gruß Dino
Anzeige
AW: Zellinhalte bis Spalte B verschieben?
05.05.2021 08:32:16
Daniel
Hi
1. naja die Adresse der ganzen Zeile in Range angeben, oder mit Rows(Zeilennummer) arbeiten.
2. sorry, mein Fehler, muss im Intersect natürlich lauten "letzteSpalte.EntireColum".
Wobei du das ". EntireColum" auch weglassen kannst, wenn letzteSpalte schon eine ganze Spalte ist oder in der selben Zeile liegt wie die Range "Start"
Gruß Daniel
Anzeige
AW: Zellinhalte bis Spalte B verschieben?
05.05.2021 10:25:37
Dino
Vielen Dank Daniel
Gruß Dino
;

Forumthreads zu verwandten Themen

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