Hej Johan.
Jag skrev ihop en metod med en tillhörande funktion som gör det du önskar. Den borde inte vara så svår att förstå.
/Andreas
Public Sub HideShowRows()
Dim i As Long
Application.ScreenUpdating = False
'om dold rad med 2:a i existerar visa alla rader
If FindHiddenRow Then
For i = 1 To Range("A65000").End(xlUp).Row
ActiveSheet.Rows(i).Hidden = False
Next
Else
'annars, dölj rader med 2:a i
For i = 1 To Range("A65000").End(xlUp).Row
If Trim(ActiveSheet.Cells(i, 1)) = "2" Then
ActiveSheet.Rows(i).Hidden = True
End If
Next
End If
Application.ScreenUpdating = True
End Sub
'kollar om det finns en dold rad med en 2:a i första kolumnen
Public Function FindHiddenRow() As Boolean
Dim i As Long
For i = 1 To Range("A65000").End(xlUp).Row
If Trim(ActiveSheet.Cells(i, 1)) = "2" And ActiveSheet.Rows(i).Hidden = True Then
FindHiddenRow = True
Exit Function
End If
Next
FindHiddenRow = False
End Function