Makro Leere Spalten löschen ab Zeile 2
Hallo,
ich habe hier im
Forum schon ein Makro gefunden, dass alle leeren Spalten löscht.
Dim leere_Spalte As Integer
Application.ScreenUpdating = False
For leere_Spalte = 256 To 1 Step -1
If Application.CountA(Columns(leere_Spalte)) = 0 Then
Columns(leere_Spalte).Delete
End If
Next
Ich habe jedoch in der ersten Zeile jeweils für jede Spalte eine Überschrift stehen und somit ist ja keine Spalte leer.
Wie kann man das Makro anpassen, dass er erst alle leeren Spalten ab Zeile 2 löscht?
Antwort schreiben
Antwort 1 von Hajo_Zi vom 03.09.2021, 15:40 Options
Hallo Molares,
es soll als Spale C2:C6536 zu B2:B65536 werden?
Gruß Hajo
Antwort 2 von Molares vom 04.09.2021, 08:03 Options
Äh nein,
das Problem ist, dass ja in Zeile 1 immer etwas steht, also für jede der Spalten ist da ja eine Überschrift enthalten.
Heißt A1, B1, C1, D1, E1 etc. haben alle INhalt und somit gibt es keine Spalte, die komplett leer ist.
Es gibt aber Spalten, die leer sind, wenn man sich die Überschriften wegdenkt.
Das heißt, das Makro soll alle Spalten erst ab zeile 2 durchsuchen und nicht schon die erste mit.
Angenommen Spalte D ist leer. Komplett. Dann steht jedoch immer noch in Spalte D1 etwas drinnen und somit erkennt das Makro die Spalte nicht als leer an.
Also alle Spalten erst ab der zweiten Zeile überprüfen und die erste Zeile aus lassen.
Antwort 3 von Hajo_Zi vom 04.09.2021, 08:25 Options
Hallo Molares,
MsgBox Range("L2:L65536").SpecialCells(xlCellTypeBlanks).Count > 0
Gruß Hajo