nagut dann halt anders
Private Sub Worksheet_Change(ByVal Target As Range)
if target.column >1 then exit sub 'nicht in spalte A ,dann raus
Select Case Target.Row 'prüfung der ZeilenNr
Case 19 To 27
Call ausblendenRow(Target.Row, 27)
Case 34 To 42
Call ausblendenRow(Target.Row, 42)
Case 49 To 57
Call ausblendenRow(Target.Row, 57)
Case 70 To 78
Call ausblendenRow(Target.Row, 78)
Case Else
End Select
End Sub
Function ausblendenRow(rowstart&, rowend&)
Dim i&, rng As Range
Application.ScreenUpdating = False
For i = rowend To rowstart Step -1 'schleife durch den Zeilenbereich
If IsEmpty(Rows(i).Cells(1)) Then 'prüft erste Zelle
If rng Is Nothing Then 'sammelt die leeren Zellen
Set rng = Rows(i).Cells(1)
Else
Set rng = Union(rng, Rows(i).Cells(1))
End If
Else
Exit For 'aussteigen wenn Zelle nicht leer
End If
Next
If Not rng Is Nothing Then 'prüfung ob leere Zellen gesammelt wurden
rng.EntireRow.Hidden = True 'alle ausblenden
rng(1).EntireRow.Hidden = False 'erste Leere wieder einblenden
End If
Application.ScreenUpdating = True
End Function
|