AW: Zeile ein-und ausblenden
08.05.2018 00:43:02
niclaus
Hallo Sonja
Ich muss das auch öfter machen: eine grössere Anzahl von Zeilen muss ausgeblendet werden, wenn bestimmte Zellen den Wert 0 enthalten. Ich habe dafür zwei Makros
Sub ausblenden1()
For Each Zelle In Selection
zv = Zelle.Value
If zv = 0 Then Zelle.EntireRow.Hidden = True
Next Zelle
End Sub
Sub ausblenden2()
Dim zv
Dim RaZeile As Range
For Each Zelle In Selection
zv = Zelle.Value
If zv = 0 Then
If RaZeile Is Nothing Then
Set RaZeile = Zelle.Rows
Else
Set RaZeile = Union(RaZeile, Zelle.Rows)
End If
End If
Next Zelle
If Not RaZeile Is Nothing Then RaZeile.EntireRow.Hidden = True
Set RaZeile = Nothing
End Sub
ausblenden1() benutze ich, wenn es sich um eine kleinere Anzahl von Zellen bzw. Zeilen handelt. Es wird dann eine Zeile nach der andern ausgeblendet. Wenn es sich um eine grössere Anzahl handelt, dauert dieses Makro unendlich lange. Deshalb ausblenden2(): Da werden die auszublendenden Zeilen in einem Array "gesammelt" und dann alle zusammen in einem einzigen Durchgang ausgeblendet: Eine gewaltige Zeitersparnis!!
Ich hoffe, das hilft Dir weiter. Grüsse Niclaus