ich habe folgendes Problem:
In einer Liste stehen oben Mitarbeiternamen, Abteilungen und Positionen und seitlich Vorgabedokumente. Diese Anordnung ist nicht veränderlich (bedingt durch Vorgaben und Anzahl Dokumente).
Jetzt würde ich gerne horizontal filtern (links nach rechts) z.B. bei Eingabe der Abteilung und der Position in A1 und A2 sollten alle Zellen ausgeblendet werden, in denen diese beiden Filterkriterien nicht erfüllt werden.
Ich habe das sowohl mit If-Anweisungen als auch mit Select Case versucht, allerding habe ich irgendwo einen Fehler, denn beim ausprobieren ignoriert Excel immer meine Bedingung aus A1.
Hier mein Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range, Zelle As Range, Bereich1 As Range, Zelle1 As Range, sStatus As Boolean, _
sStatus1 As Boolean
Set Bereich = Me.Range("C1:CZ1")
sStatus = Application.ScreenUpdating
Application.ScreenUpdating = False
On Error GoTo Fehler
For Each Zelle In Bereich.Cells
If Zelle.Value = Me.Range("A1").Value Then
Zelle.EntireColumn.Hidden = False
ElseIf Range("A1") = "" Then
Zelle.EntireColumn.Hidden = False
Else
Zelle.EntireColumn.Hidden = True
End If
Next Zelle
Fehler:
Application.ScreenUpdating = sStatus
Set Zelle = Nothing
Set Bereich = Nothing
End Sub
ODER*************************
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range, Zelle As Range, sStatus As Boolean
Set Bereich = Me.Range("C1:CZ2")
For Each Zelle In Bereich.Cells
Select Case Zelle.Value
Case Is = Me.Range("A1").Value
Zelle.EntireColumn.Hidden = False
Case Is = Cells(1, 1) = ""
Zelle.EntireColumn.Hidden = False
'Zelle.Interior.ColorIndex = 3
' Worksheets("MA-Kompetenzen").Columns("BD:BM").Hidden = True
Case Is = Me.Range("A2").Value
Zelle.EntireColumn.Hidden = False
Case Is = Cells(2, 1) = ""
Zelle.EntireColumn.Hidden = False
'Zelle.Interior.ColorIndex = 3
' Worksheets("MA-Kompetenzen").Columns("BD:BM").Hidden = False
Case Else: Zelle.EntireColumn.Hidden = True
'Zelle.Interior.ColorIndex = 0
End Select
Next Zelle
End Sub
Vielleicht kann mir jemand ´sagen was ich falsch mache und den Code gleich korrigieren.
Danke!