Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1116to1120
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
Bestimmte Spalten löschen
Chris
Hi zusammen,
ich möchte mittels einem Makro bestimmte Spalten einer Tabelle löschen. Und zwar sollen ab Spalte D alle Spalten gelöscht werden, die in der Überschrift einen Text stehen haben oder keine Überschrift haben.
Die Spaltenüberschriften befinden sich in Zeile 12.
Man könnte das auch anders ausdrücken: Ab Spalte D sollen alle Spalten, die in der Überschrift ein Datum stehen haben (MMM YY), erhalten bleiben.
Jemand einen guten Tipp?

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

Betreff
Benutzer
Anzeige
Spalten löschen, wenn in Zeile 12 kein Datum steht
12.11.2009 13:33:37
NoNet
Hallo chris,
vielleicht ein "guter Tipp" : Per Makro funktioniert das so :
Sub SpaltenOhneDatumInZeile12Loeschen()
Dim lngS As Long
For lngS = Columns.Count To 4 Step -1
If Not IsDate(Cells(12, lngS)) Then _
Columns(lngS).EntireColumn.Delete shift:=xlToLeft
Next
End Sub

Gruß, NoNet
AW: Bestimmte Spalten löschen
12.11.2009 13:35:08
Chris
Servus Namensvetter,
probier's mal so:
Sub t()
Dim lastcol As long, i As long
lastcol = Cells.Find(what:="*", Searchorder:=xlByColumns, Searchdirection:=xlPrevious).Column
For i = lastcol To 1 Step -1
If Not IsDate(Cells(12, i)) Then
Columns(i).Delete
End If
Next i
End Sub
Gruß
Chris
Anzeige
AW: Bestimmte Spalten löschen
12.11.2009 16:12:52
Chris
Was ich noch vergessen habe:
Ich möchte die Spalten nicht im aktivierten Sheet, sondern per Knopfdruck auf einen Commandbutton (der Code dahinter eledigt auch noch ein paar andere Sachen) in Tabelle1 die Spalten in Tabelle3, Tabelle4 und Tabelle5 löschen.
Wie ergänze ich den Code?
AW: Bestimmte Spalten löschen
15.11.2009 17:53:41
Daniel
HI
du könntest das so erweitern
Sub t()
Dim lastcol As long, i As long
Dim sh As Worksheet
For Each sh In Sheets(Array("Tabelle1", "Tabelle3", "Tabelle4", "Tabelle5"))
lastcol = sh.Cells.Find(what:="*", Searchorder:=xlByColumns, Searchdirection:=xlPrevious) _
.Column
For i = lastcol To 1 Step -1
If Not IsDate(sh.Cells(12, i)) Then
sh.Columns(i).Delete
End If
Next i
next
End Sub

Gruß, Daniel
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige