Ich versuche mich seit einigen Tagen an einem Stück Code, welcher die Namen der nicht ausgeblendeten Arbeitsblättern in ein Variantarray einlist. Danach möchte ich in diesen Arbeitsblättern die Zeilen ausblenden, wenn im ersten Arbeitsblatt eine bestimmte Bedingung erfüllt ist. Bitte korrigiert meinen Ansatz, da ich das Ansprechen des Arrays nicht hinbekomme.
Vielen Dank im Voraus,
Sebastian
Sub Ausblenden()
Dim Ws As Worksheet 'Worksheet
Dim intZ As Integer 'Zähler
Dim StrWsName As Variant 'Namen der Ws
Dim WsArray As Variant 'Namen der Ws als Array
Dim rngA As Range 'Alle Zeilen mit erfüllter Bedingung zum Ausblenden
For Each Ws In Worksheets
If Ws.Name = "Anleitung" Then Exit For
If Ws.Visible = True Then
If StrWsName = "" Then StrWsName = Ws.Name Else StrWsName = StrWsName & "," & Ws. _
Name
End If
Next
'Ws Namen in Array
WsArray() = Split(StrWsName, ",")
'Schutz aller Ws im Array aufheben
Sheets(WsArray).Unprotect
'Zeilen ausblenden
'Alle Zeilen in Ws "Verzeichnis", deren Zellen in Spalte 5 leer sind in rngA
With Worksheets("Verzeichnis")
For intZ = 6 To .UsedRange.Rows.Count
If .Cells(intZ, 5) = "" Then
If rngA Is Nothing Then
Set rngA = .Rows(intZ)
Else
Set rngA = Union(rngA, .Rows(intZ))
End If
End If
Next intZ
End With
'Alle Zeilen des rngA in den Ws von WsArray ausblenden
If Not rngA Is Nothing Then Sheets(WsArray).rngA.EntireColumn.Hidden = True
'Ws schützen
Sheets(WsArray).Protect AllowFiltering:=True
End Sub