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

Ganze Spalte löschen außer erste Zelle

Ganze Spalte löschen außer erste Zelle
26.04.2017 10:57:31
Nati
Hallo,
ich habe die Frage schon unten, aber zu kompliziert formuliert:
Möchte eine komplette SPalte löschen bzw den Zellinhalt außer die Formeln + Der Inhalt der ersten Zelle soll stehen bleiben:
 Columns(f).SpecialCells(xlCellTypeConstants).ClearContents
Liebe Grüße,
Nati

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ganze Spalte löschen außer erste Zelle
26.04.2017 11:02:58
ChrisL
Hi Nati
Sofern die Spalte durchgängig mit Konstanten befüllt ist, dann würde ich einfach um eine Zeile versetzen. Es wird dann zwar am Ende eine (leere) Zeile zu viel gelöscht, was sich mit Resize beheben liesse, aber tragisch ist es auch nicht.
Columns(f).SpecialCells(xlCellTypeConstants).Offset(1, 0).ClearContents
cu
Chris
AW: Ganze Spalte löschen außer erste Zelle
26.04.2017 11:07:31
Nati
Hi Chris,
die Spalte wird von Usern befüllt, die haben dann eine Möglichkeit die Spalte wieder zu löschen bzw auszublenden, die erste Zelle sollte bestehen bleiben, da dort der SPaltenname steht, mit dem die User die Spalte ein und ausblenden können..
Anzeige
AW: Ganze Spalte löschen außer erste Zelle
26.04.2017 11:22:02
ChrisL
Hi Nati
Folgende Variante ist evtl. zuverlässiger...
If Cells(2, f) <> "" Then Range(Cells(2, f), Cells(Rows.Count, f).End(xlUp)).ClearContents
cu
Chris
AW: Ganze Spalte löschen außer erste Zelle
26.04.2017 11:30:15
Nati
Chris, vielen Dank klappt !!
aber eine vllt dumme Frage hätte ich, Warum nehme ich Cells(2,f) wenn die Werte zB bei A1, B1 etc stehen, müsste es doch eig mit cells(1,f) gehen oder ? ( geht aber mit deiner Variante)
AW: Ganze Spalte löschen außer erste Zelle
26.04.2017 12:38:13
ChrisL
Hi Nati
f = 1
Cells(2, f) entspricht Range("A2")
Angenommen Bereich A1:A10 ist befüllt.
Cells(Rows.Count, f).End(xlUp) entspricht Range("A10") (letzte befüllte Zelle)
Range(Range("A2"), Range("A10")) entspricht Range("A2:A10")
2 stellt somit die Zeilenzahl dar, ab welcher der zu löschende Bereich gilt.
Wenn nur Titel stehen und A2 leer ist, dann wäre die letzte Zelle A1.
Range(Range("A2"), Range("A1")) = es würde fälschlicherweise auch Zeile 1 gelöscht werden.
Darum zur Sicherheit noch die If-Abfrage.
cu
Chris
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige