Einen wunderschönen guten Morgen wünsch ich :)
Durch eure Hilfe habe ich es ja geschafft durch meine Filter der Spalte A mit Hilfe der Makros durchzublättern und auch wieder zum ersten Eintrag zu springen (anbei der Code).
Jetzt bräuchte ich noch die Möglichkeit in einer anderen Spalte einen FIlter setzen zu können und dann durch die übrigen zu blättern.
Zurzeit ist es noch so, dass wenn ich ein anderen Filter setze und beginne mit den makros durch die Filter der Spalte A zu tippen, fliegt der zurerst gesetzte Filter wieder raus.
Danke im vorraus für eure Hilfe!
Viele Grüße Louis
Dim stelle As Long
Sub filter_zurück()
Dim liste()
ReDim liste(0)
stelle = stelle - 1
If ActiveSheet.AutoFilterMode = True Then Range("Auftragsliste").AutoFilter
'Zeile 1 ist Übeschrift
For i = 3 To ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
'MsgBox liste.contains(Cells(i, 1))
If UBound(Filter(liste, CStr(ActiveSheet.Cells(i, 1)), , vbBinaryCompare)) = -1 Then
liste(0) = liste(0) + 1
ReDim Preserve liste(liste(0))
liste(liste(0)) = CStr(ActiveSheet.Cells(i, 1))
End If
Next
If stelle = -1 Then stelle = UBound(liste)
If stelle = 0 Then
Exit Sub
End If
Range("Auftragsliste").AutoFilter
Range("Auftragsliste").AutoFilter Field:=1, Criteria1:=Replace(liste(stelle), ",", ".")
End Sub
Sub filter_vor()
Dim liste()
ReDim liste(0)
stelle = stelle + 1
If ActiveSheet.AutoFilterMode = True Then Range("Auftragsliste").AutoFilter
'Zeile 1 ist Übeschrift
For i = 3 To ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
'MsgBox liste.contains(Cells(i, 1))
If UBound(Filter(liste, CStr(ActiveSheet.Cells(i, 1)), , vbBinaryCompare)) = -1 Then
liste(0) = liste(0) + 1
ReDim Preserve liste(liste(0))
liste(liste(0)) = CStr(ActiveSheet.Cells(i, 1))
End If
Next
Debug.Print stelle
If stelle > UBound(liste) Then
stelle = 0
Exit Sub
End If
Range("Auftragsliste").AutoFilter
Range("Auftragsliste").AutoFilter Field:=1, Criteria1:=Replace(liste(stelle), ",", ".")
End Sub
Sub erster()
If ActiveSheet.AutoFilterMode = True Then Range("Auftragsliste").AutoFilter
stelle = 1
Range("Auftragsliste").AutoFilter
Range("Auftragsliste").AutoFilter Field:=1, Criteria1:=Replace(CStr(ActiveSheet.Cells(3, 1)), ",", ".")
End Sub
|