Hallo Phillip,
da ist schwer durchzublicken und nivht logisch verschachtelt. So ist durch die erste If-Abfrage die Range B16 ja schon abgearbeitet und die weiteren Abfragen zu dieser Adresse unwirksam bzw. überflüssig.
Ich denke,dass Du es so wie im nachfolgenden code machen könntest. Also alles sinnvoll zusammenfassen und mit einer Select optimal abfragen.
Probiere es mal aus. Ich konnte es nicht testen.
Private Sub Worksheet_Change(ByVal Target As Range)
'Sub blendet Blätter ein/aus
'Es werden drei Gruppen gebildet, die einzeln umgeschaltet werden können
Dim Wie1 As Integer, Wie2 As Integer, Wie3 As Integer
Wie1 = xlHidden: Wie2 = xlHidden: Wie3 = xlHidden
If Target.Address = "$B$16" Then
Select Case Target.Value
Case "Project audit": Wie1 = True
Case "Process audit": Wie2 = True
Case "Sustainability audit": Wie3 = True
Case "Project / process audit": Wie1 = True: Wie2 = True
Case "Project / sustainability audit": Wie2 = True: Wie3 = True
Case "Project / process / sustainability audir": Wie1 = True: Wie2 = True: Wie3 = True
Case Else
End Select
Sheets(Array("Disclaimer Project Audit", _
"Project Audit", _
"Findings Project", _
"GST Comments on Project Audit")).Visible = Wie1
Sheets(Array("Disclaimer Process Audit", _
"Process Audit", _
"Findings Process", _
"GST Comments on Process Audit")).Visible = Wie2
Sheets(Array("Disclaimer Sustainability Audit", _
"Sustainability Audit ", _
"Findings Sustainability", _
"GST Comments on Sust. Audit")).Visible = Wie3
End If
End Sub
viele Grüße
Karl-Heinz
|