im Moment habe ich dieses Makro zur Filterung und Ausblenden von Spalten
Sub Filtern_Spalten_Ausblenden()
Dim loLetzteS As Long, i As Long, raAusblenden As Range
With Worksheets("Sammeländerung 2")
If .Range("L16") = "" Then
If .Range("D21").AutoFilter Then .AutoFilterMode = False
.Columns.Hidden = False
Exit Sub
End If
Application.ScreenUpdating = False
If IsNumeric(.Range("L16")) Then
If WorksheetFunction.CountIf(.Columns("D"), .Range("L16")) > 0 Then
.Columns.Hidden = False
.Range("D21").Select
.ListObjects("Tabelle10").Range.AutoFilter Field:=1, Criteria1:=.Range("L16")
loLetzteS = .Cells(21, .Columns.Count).End(xlToLeft).Column
For i = 23 To loLetzteS
If WorksheetFunction.Aggregate(9, 7, .Columns(i)) = 0 Then
If raAusblenden Is Nothing Then
Set raAusblenden = .Cells(1, i)
Else
Set raAusblenden = Union(raAusblenden, .Cells(1, i))
End If
End If
Next i
If Not raAusblenden Is Nothing Then
Set raAusblenden = Union(raAusblenden, .Range(.Cells(1, "B"), .Cells(1, "F")))
raAusblenden.EntireColumn.Hidden = True
End If
Else
MsgBox "Fehler: Den Filterbegriff " & .Range("L16") & " gibt es in Spalte C nicht."
End If
Else
MsgBox "Fehler: Der Filterbegriff ist nicht numerisch."
End If
End With
Set raAusblenden = Nothing
End Sub
https://www.herber.de/bbs/user/138188.xlsm
Mein Problem ist allerdings noch, dass zwar bei der Filterung von Zahlen(1-4) in der Zelle L16 die Spalten B-F ausgeblendet werden. Wenn aber keine Zahl in der Zelle L16 drin steht, werden die Spalten B-F angezeigt, wenn eine Filterung durchgenommen wird. Ich filter nach nichts, da ich wieder eine ganze Übersicht haben möchte.
Viele Grüße
Lukas