Mein Problem bringt euch hoffentlich zum Lachen... ich könnte heulen....
Also.. Ich hab auf meinem Tabellenblatt mehrere Filter gesetzt. Ich hab des weitere noch ne Tabelle in einer Tabelle und ein Doppelfilter usw. usw. leider bin ich nicht in der Lage das richtig zu erklären....
Mit jeder Lösung die ich gefunden habe ist es meist leider nur möglich zwei Kriterien aus einem Filter auszulesen. Beim dritten oder oft auch schon beim zweiten gibt es eine Fehlermeldung oder ist auf Grund des Codes nicht möglich.
Ich hätte sehr gerne eine Schleife mit einer Variablen Variable (ich weis wie dumm sich das anhört). Das Programm sollte erkennen wie viele Kriterien gesetzt sind und dementsprechend diese in einem anderen Tabellenblatt untereinander auflisten.
Das ihr seht wie unfähig ich bin hänge ich euch jetzt den Codeschnipsel an:
Option Explicit
Sub Haupt()
Dim intRow, Var As Integer
Dim x As Byte
Dim intSpalte As Integer
Dim strFilter As String
Dim wksBlatt As Worksheet
Dim wksFilter1 As Worksheet
Dim wksFilter2 As Worksheet
Set wksBlatt = Worksheets("SAPExport")
Var = 27 ' Bei 28 fängt die Tabelle an in die ich es eintragen möchte
If wksBlatt.AutoFilterMode Then
With wksBlatt.AutoFilter
For intSpalte = 1 To .Filters.Count
Var = Var + 1
With .Filters.Item(intSpalte)
If .On Then
x = 1
If .Operator Then
Sheets("Merkmale").Cells(x + 1, Var) = .Criteria1
x = x + 1
Sheets("Merkmale").Cells(x + 1, Var) = .Criteria2
x = x + 1
' Mit mehr als 2 ist es nicht möglich oder gibt dann halt ne Fehlermeldung.... _
_
mit On Error hab ich´es auch nicht hinbekommen....
Else
Sheets("Merkmale").Cells(x + 1, Var) = .Criteria1
End If
Else
End If
End With
Next
End With
End If
End Sub
Bitte erleuchtet mich ihr VBA - Götter