Ich bin am verzweifeln! Ich möchte mit einem VBA-Skript alle Worksheets eines Excel-Workbooks durchgehen und in jedem Worksheet nur diejenigen Zeilen einblenden, welche einen Wert > 0 in der Spalte AL (entspricht 38) haben.
Folgenden Ansatz habe ich gewählt:
Public Sub HideInactiveRows()
Dim wsWorksheet As Worksheet
For Each wsWorksheet In ActiveWorkbook.Worksheets
wsWorksheet.Activate
wsWorksheet.Rows("1:1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=38, Criteria1:=">0", Operator:=xlAnd
Next wsWorksheet
End Sub
Die Routine loopt brav über alle drei Arbeitsblätter meines kleinen Test-Sheets und erstellt den AutoFilter wie gewünscht. Allerding greift dieser nur auf dem ersten Arbeitsblatt richtig. Bei allen anderen werden teilweise (ich erkenne keine Logik) auch Zeilen angezeigt, deren Wert in der Spalte AL gleich Null ist.
Was mach ich falsch?
Vielen Dank für Eure Hilfe!
Stephan