Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1828to1832
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

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

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
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
AW: Zellinhalte bis Spalte B verschieben?
05.05.2021 10:25:37
Dino
Vielen Dank Daniel
Gruß Dino

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige