ich habe eine Excel-Tabelle. Ich würde gerne per VBA alle leere Zeilen und Zeilen mit B=0 ab Zeile 21 in dieser Tabelle ausblenden?

1 Antwort

Sub ausblenden()
For i = 21 To Cells(Rows.Count, 2).End(xlUp).Row
If Cells(i, 2).Value = "0" Or IsEmpty(Range(Cells(i, 1), Cells(i, 10))) Then Rows(i).Hidden = True
Next
End Sub

Hier sind bzgl. leer nur die ersten 10 Spalten geprüft, ggf. noch erweitern.

Was etwas schwierig ist, ist die Anzahl der Zeilen zu bestimmen, die geprüft werden müssen. Ich bin davon ausgegangen, dass in Spalte B immer ein Wert steht, sofern nicht die ganze Zeile leer ist. Ggf. statt dem cells(row.count...) einen festen Wert für die letzte Zeile hinterlegen.

Als echte Alternative hierzu wäre aber ggf. auch ein Autofilter möglich. Dann ist das einblenden auch schnell gemacht.