Hallo Schmidt,
so ganz verstanden hab eich es nicht, aber vielleicht bringt Dich folgende Idee zur Realisierung Deines Projektes weiter:
Hierbei wird eine Adresse übergeben (z.B. auch durch das Event Change) und je nach Wert in dieser Zelle die entsprechenden Zeilen aus/eingebendet.
Falls immer alle Zellen abgearbeitet werden sollen, müsste man noch eine kleine Schleife drumrumprogrammieren.
Außerdem werden zunächst alle Zeilen eingeblendet (kann man ja auch rausnehmen)
Option Explicit
Sub Test()
EinAusBlenden Sheets("Tabelle1").Range("A13")
End Sub
Sub EinAusBlenden(Target As Range)
'Blendet wechselweise Zeilen aus
Dim sBer As String, sAdr As String
Dim Wsh As Worksheet, bWie As Boolean
Dim i As Integer
sAdr = Target.Address
If Target.Value Like "x" Then bWie = True
Set Wsh = ThisWorkbook.Sheets("Tabelle2")
For i = 1 To 2
sBer = "A15:A78,A100:A104"
'Erst alle einblenden
Wsh.Range(sBer).EntireRow.Hidden = False
Select Case sAdr
Case "$A$13": sBer = "A15:A20"
Case "$A$14": sBer = "A15:A20,A24:A28"
Case "$A$15": sBer = "A15:A22,A23:A37"
Case "$A$16": sBer = "A12:A20,A23:A78,A100:A104"
Case Else: sBer = ""
End Select
'Jetzt teilweise ausblenden
If sBer <> "" Then
Wsh.Range(sBer).EntireRow.Hidden = bWie
End If
Set Wsh = ThisWorkbook.Sheets("Tabelle3")
Next i
End Sub
viele Grüße
Karl-Heinz
|