leere Spalten automatisch ausblenden
Hi zusammen,
habe ein Problemchen und zwar sollen alle leere Spalten in einer Tabelle automatisch ausgeblendet werden...
Habe zwar ein makro für Zeilen gefunden, kann es aber nicht umschreiben :-( Hat jemand eine Idee oder bin ich auf dem völlig falschen Weg ???
Sub ausblenden()
' spalten anpassen: bei cells(reihe,Spalte) hinter dem Komma Spaltenindex ändern
For i = 1 To Cells(65000, 1).End(xlUp).Row
If IsEmpty(Cells(i, 1)) Then
Rows(i).Hidden = True
End If
Next
End Sub
Vielen lieben Dank im Voraus für Eure Tips !!
Beste Grüsse
Karsten
Antwort schreiben
Antwort 1 von Beverly vom 14.09.2019, 07:09 Options
Hi Karsten,
For i = 1 To Cells(1, 256).End(xlToLeft).Column
If IsEmpty(Cells(1, i)) Then
Columns(i).Hidden = True
End If
Next
Geprüft wird Zeile 1.
Bis später,
Karin
Antwort 2 von Kauz1 vom 14.09.2019, 07:28 Options
Hallo Karsten..
versuch es mal damit:
Sub ausblenden()
' Schleife für die 255 Spalten
For i = 1 To 255
' Wenn letzte belegte Zelle = in Zeile 1
If Sheets("Tabelle1").Cells(Rows.Count, i).End(xlUp).Row = 1 Then
' dann ..wenn Zelle in erster Zeile =NICHTS, dann ausblenden
If Sheets("Tabelle1").Cells(1, i) = "" Then Sheets("Tabelle1").Columns(i).Hidden = True
End If
Next
End Sub
Wenn alle Zellen einer Spalte leer sind, dann wird eine 1 zurückgegeben, deshalb eine Extra- Prüfung ob erste Zeile wirklich leer ist.
Probier mal aus...
Gruß Andreas
Antwort 3 von bender70 vom 16.09.2019, 11:05 Options
Hallo, Ihr beiden !!!
Erstmal vielen lieben Dank für eure schnellen Antworten, sorry, dass meine etwas verspätet kommt...
Das ist genau das was ich gesucht habe !!
Kann ich die Abfrage auch auf einen bestimmten Bereich festlegen,
also, dass die 1. Spalte und Zeile 1 bis 3 nicht abgefragt werden, da dort die "Überschriften stehen ? Versuche das schon mit Range ..Select, bekomme es leider nicht hin...
ich hoffe, ich nerve Euch nicht zu sehr !!!!
Beste Grüsse
Karsten
Antwort 4 von bender70 vom 16.09.2019, 18:19 Options
sorry, das mit der 1. Spalte war natürlich Blödsinn, denn die ist nie leer.....
Antwort 5 von Kauz1 vom 17.09.2019, 16:47 Options
Hallo Karsten...
Sub ausblenden()
' Schleife für die 255 Spalten
For i = 1 To 255
' Wenn letzte belegte Zelle = in Zeile 1
If Sheets("Tabelle1").Cells(Rows.Count, i).End(xlUp).Row <4 Then
' dann ..wenn Zelle in erster Zeile =NICHTS, dann ausblenden
If Sheets("Tabelle1").Cells(1, i) = "" Then Sheets("Tabelle1").Columns(i).Hidden = True
End If
Next
End Sub
Schreib hinter Row statt =1 einfach <4 .
Dann werden alle Spalten, die ab der vierten Zeile leer sind, ausgeblendet.
Gruß Andreas
Antwort 6 von bender70 vom 17.09.2019, 21:01 Options
Hi Andreas,
vielen lieben Dank für Deine Hilfe !!!
Hast mich "gerettet" ;-)
Beste Grüsse
Karsten
Antwort 7 von Kauz1 vom 17.09.2019, 21:19 Options
Hallo Karsten..
vielen Dank für die Rückmeldung.
Gruß Andreas