ich bin nicht unbedingt ein VBA-Spezi und verzweifle gerade an folgendem Problem:
Die Daten die ich filtern möchte erstrecken sich über relativ viele Spalten. Gefiltert werden sollen die Spalten anhand der Werte in der Zeile 4, die dann aufgrund der Angabe in Zelle B4 selektiert wird. Zum anderen sollen die Spalten anhand der Werte in Zeile 3 gefiltert werden, die dann aufgrund der Eingabe in Zelle B3 selektiert werden sollen.
Zum filtern anhand eines Kriteriums habe ich folgenden Code gefunden, der auch wunderbar _ funktioniert (Zeile 4 filtern anhand Eingabe in B4):
Private Sub Worksheet_change(ByVal Target As Range)
Dim Zelle As Range
Dim Filterzeile As Range
Set Filterzeile = Range(Cells(1, 4), Range("IV4").End(xlToLeft))
If Target.Address "$B$4" Then Exit Sub
If Target = "" Then Columns.Hidden = False
If WorksheetFunction.CountIf(Filterzeile, Target) = 0 Then Exit Sub
For Each Zelle In Filterzeile
Zelle.EntireColumn.Hidden = Zelle Range("B4")
Next
End Sub
Danach habe ich den Code auch erfolgreich so umgeändert, dass er Zeile 3 anhand der Eingabe in _ B3 filtert:
Private Sub Worksheet_change(ByVal TargetII As Range)
Dim ZelleII As Range
Dim FilterzeileII As Range
Set FilterzeileII = Range(Cells(1, 3), Range("IV3").End(xlToLeft))
If TargetII.Address "$B$3" Then Exit Sub
If TargetII = "" Then Columns.Hidden = False
If WorksheetFunction.CountIf(FilterzeileII, TargetII) = 0 Then Exit Sub
For Each ZelleII In FilterzeileII
ZelleII.EntireColumn.Hidden = ZelleII Range("B3")
Next
End Sub
Nur Leider will mir die Kombination aus beidem nicht gelingen.
Habt Ihr eine Idee?
Vielen Dank und viele Grüße
NilleP