395 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,

ich würde gerne hier schreiben:
https://supportnet.de/stat/2003/2/id126494.asp
aber das geht irgendwie nicht.

Ich habe mit dem Makro von Günter in o.g. Fred perfekt die Zeilen ausblenden können wie gewollt.

Jetzt wollte ich aber, dass es über alle Worksheets der Datei funktioniert und habe Günter´s Makro erweitert:

Sub Eins_ausblenden()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
With ws
Dim n As Integer
For n = 3 To 120
If Cells(n, 11).Value = "1" Then
Rows(n).EntireRow.Hidden = True
End If
Next
End With
Next ws
End Sub


Leider wird das Makro immer nur im aktiven Worksheet ausgeführt und nicht in allen.
Was mache ich falsch?

(in anderen Makros der gleichen Datei kann ich die Funktionen (Spalten ausblenden) einwandfrei benutzen)

Vielen Dank für Eure Hilfe
Torsten

3 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

nur ein kleiner Punkt, macht den Unterschied:

Sub Eins_ausblenden()
Dim ws As Worksheet
Dim n As Integer

For Each ws In ThisWorkbook.Worksheets
With ws
For n = 3 To 120
If .Cells(n, 11).Value = "1" Then
.Rows(n).EntireRow.Hidden = True
End If
Next
End With
Next ws
End Sub


Gruß

M.O,
0 Punkte
Beantwortet von
Vielen Dank, funktioniert einwandfrei.
Was so 2 kleine Punkte doch bewirken können.

Nochmals danke!

Gruß
Torsten
0 Punkte
Beantwortet von
Hallo Community ^^

Noch ein Beispiel!

Gruß Nighty

Sub FilterBereich()
Dim Wks As Integer
Dim FilteredRange As Object
For Wks = 1 To Worksheets.Count
Worksheets(Wks).Range("A3:A120").AutoFilter Field:=1, Criteria1:="1"
Set FilteredRange = Worksheets(Wks).AutoFilter.Range.SpecialCells(xlCellTypeVisible)
Worksheets(Wks).Range("A3").AutoFilter
FilteredRange.Rows.Hidden = True
Next Wks
End Sub
...