Als Antwort auf diesen Beitrag
Das Verhalten kommt daher, dass du das Ereignis Worksheet_SelectionChange verwendest. Dieses wird nur ausgelöst, wenn die Auswahl auf ein anderes Feld wechselt, nicht wenn der Inhalt einer Zelle geändert wird.
Biespiel:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
Rows.Hidden = False
Select Case Range("A1").Value
Case 1
Rows("10:20").Hidden = True
Case 2
Rows("20:30").Hidden = True
Case 3
Rows("30:40").Hidden = True
Case 4
Rows("40:50").Hidden = True
Case 5
Rows("50:60").Hidden = True
End Select
End Sub
zusätzlich:
-Exit Sub macht den Code übersichtlicher als ein leeres Else.
- Range("A1").Value ist sauberer als nur Range("A1").
- Rows.Hidden = False blendet zunächst alle Zeilen wieder ein.
- Select Case ist bei mehreren Werten deutlich lesbarer als viele If-Abfragen.