Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
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
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Leere Spalten löschen

Leere Spalten löschen
16.03.2007 11:04:00
Toastie
Hallo zusammen
Habe hier im Forum ein Makro zum löschen leerer Spalten gefunden. Leider funktioniert diese Variante bei mir nicht, da ich in jeder Spalte noch in der Zeile 1 eine Überschrift habe. Jetzt würde ich das Makro gerne anpassen damit die Spalte ab Zeile 2 geprüft wird ob sie leer ist.
Habe aber ein leichtes Verständnis Problem mit der Zeile Application.WorksheetFunction.CountA(Columns(i)) = 0
Wie funktioniert denn CountA? Habe in der VBA Hilfe nichts gefunden...
Kann ich das Grundgerüst für meinen speziellen Fall "prüfe ab der zweiten Zeile" überhaupt verwenden?
Hier das Makro:

Sub LeereSpaltenLöschen()
Dim i As Integer, deleteIndex As Integer
'max. 255 Spalten sind möglich
For i = 1 To 255
'Sollte sich nichts in der Spalte befinden (entspricht Anzahl2(Spalte))
If Application.WorksheetFunction.CountA(Columns(i)) = 0 And deleteIndex 
Vielen Dank
Toastie

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

Betreff
Datum
Anwender
Anzeige
eine Möglichkeit...
16.03.2007 11:13:55
Mac4
Hi,

Sub LeereSpaltenLöschen()
Dim i As Integer, deleteIndex As Integer
'max. 255 Spalten sind möglich
For i = 256 To 1 Step -1
'Sollte sich nichts in der Spalte befinden (entspricht Anzahl2(Spalte))
If Application.WorksheetFunction.CountA(Range(Cells(2, i), Cells(65536, i))) = 0 Then
Columns(i).Delete
End If
Next i
End Sub
Marc
AW: eine Möglichkeit...
16.03.2007 11:28:19
Toastie
funktioniert prima, danke! Und jetzt versteh ich auch, was das makro vorher gemacht hat :-)
so gehts schneller...
16.03.2007 11:17:16
Mac4
Hi,

Sub LeereSpaltenLöschen()
Dim i As Integer, deleteIndex As Integer
'max. 255 Spalten sind möglich
For i = Cells.Find("*", searchdirection:=xlPrevious).Column To 1 Step -1
'Sollte sich nichts in der Spalte befinden (entspricht Anzahl2(Spalte))
If Application.WorksheetFunction.CountA(Range(Cells(2, i), Cells(65536, i))) = 0 Then
Columns(i).Delete
End If
Next i
End Sub
Marc
Anzeige
AW: so gehts schneller...
16.03.2007 11:29:00
Toastie
funktioniert leider nicht, da leere Spalten (abgesehen von der Überschrift) teilweise stehen gelassen werden...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige