ich bin gerade dabei eine Datenbank zu erstellen, welche über ein UserForm gesteuert und gefiltert wird. Dabei bin ich auf ein Problem gestoßen, was ich alleine und mit Hilfe von diversen Foren nicht lösen kann.
In einer Spalte "AF" (32), habe ich ein DropDown Button in dem mehrere Auswahlmöglichkeiten gleichzeitig wählbar sind. Getrennt werden diese Möglichkeiten durch ein Komma ",".
Ich habe 9 Checkboxen die ausgewählt werden können (W1 - W9). Wenn diese ausgewählt werden, soll ein bestimmer Wert in ein Array übertragen werden, so dass ich im Anschluss nach allen Werten bei den die Checkbox = True ist gleichzeitig Filtern kann. Für einen ähnlichen Fall habe ich das bereits gemacht, aber hier scheint es nicht zu funktionieren.
Ich bekomme immer einen Laufzeitfehler 1004 "Die Autofilter-Methode des Range-Objekts konnte nicht ausgeführt werden". Ich habe schon diverse Sachen probiert, komme jedoch nicht auf die Lösung und wäre über jede Hilfe dankbar. Anbei mein aktueller Code. Da ich mir VBA selber beigebracht habe, kann es durchaus sein, dass der Code extrem stümperhaft ist, bitte davon absehen :)
Dim aryW(9) As String
Dim ZWerk As Integer
For ZWerk = 1 To 9
If Me.Controls("W" & ZWerk) = True And ZWerk = 1 Then
aryW(ZWerk) = ("*Werk" & " " & "A*")
ElseIf Me.Controls("W" & ZWerk) = True And ZWerk = 2 Then
aryW(ZWerk) = ("*Werk" & " " & "B*")
ElseIf Me.Controls("W" & ZWerk) = True And ZWerk = 3 Then
aryW(ZWerk) = ("Werk" & " " & "C")
ElseIf Me.Controls("W" & ZWerk) = True And ZWerk = 4 Then
aryW(ZWerk) = ("Werk" & " " & "D")
ElseIf Me.Controls("W" & ZWerk) = True And ZWerk = 5 Then
aryW(ZWerk) = ("Werk" & " " & "E")
ElseIf Me.Controls("W" & ZWerk) = True And ZWerk = 6 Then
aryW(ZWerk) = ("Werk" & " " & "F")
ElseIf Me.Controls("W" & ZWerk) = True And ZWerk = 7 Then
aryW(ZWerk) = ("Werk" & " " & "X")
ElseIf Me.Controls("W" & ZWerk) = True And ZWerk = 8 Then
aryW(ZWerk) = ("Werk" & " " & "Y")
ElseIf Me.Controls("W" & ZWerk) = True And ZWerk = 9 Then
aryW(ZWerk) = ("Werk" & " " & "Z")
End If
Next ZWerk
With WKMeta
.AutoFilter
.AutoFilter Field:=32, Criteria1:=(aryW), Operator:=xlFilterValues
End With
Vielen Dank schonmal!
Grüße