VBA Zellen durchsuchen und entsprechend ausblenden/einblenden?
Hallo,
ich möchte gerne einen VBA erstellen mit folgendem Ziel:
- Zelle A2 enthält "nein"
Zelle A2 mit "nein" führt zum Ausblenden der Inhalte von Zeilen 5-8. Soweit verstehe ich den Makro.
Jetzt zu meinen Problemn:
- Ich lösche Zeile 1 und der o.s. Befehl soll über Zelle A1 ausgeführt werden
- Ich füge eine weitere Zeile in Zeile 4 ein und nur die Inhalte aus Zeilen 5-8, was jetzt neuerdings 6-9 ist, wird ausgeblendet. Ich möchte jetzt nicht mehr Zeile 5-8 ausblenden.
Sprich, ich möchte gerne die Range im VBA verschieben, wenn ich im Blatt Zeilen hinzufüge/lösche.
Danke vorab!
1 Antwort
Suboptimierer
bestätigt
Von
Experte
Dafür musst du der Zelle und den Zeilen jeweils Namen zuordnen. Also z.B. du klickst in A2 rein und neben der Formelzeile steht dann die Adresse "A2". Da schreibst du z.B. "Visibility" rein und schon hat die Zelle einen Namen. Die Zeilen kannst du z.B. "HideRows" nennen. Die Bereiche verschieben sich dann automatisch, wenn du irgendwo Zeilen löschst oder einfügst.
Der VBA Code wäre dann so:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Visibility").Address Then
If Target.Value = "nein" Then
Range("HideRows").EntireRow.Hidden = True
Else
Range("HideRows").EntireRow.Hidden = False
End If
End If
End Sub