Thema Datum  Von Nutzer Rating
Antwort
07.07.2016 06:42:08 Louis
NotSolved
07.07.2016 08:38:18 Gast74447
NotSolved
07.07.2016 09:12:36 Gast57429
NotSolved
07.07.2016 16:35:23 Louis
NotSolved
07.07.2016 21:45:07 Gast81639
NotSolved
08.07.2016 07:11:00 Gast59957
NotSolved
08.07.2016 07:44:47 Louis
NotSolved
08.07.2016 07:46:36 Gast25169
NotSolved
08.07.2016 07:51:24 Gast74217
NotSolved
08.07.2016 13:27:28 Louis
NotSolved
08.07.2016 13:47:52 Gast77320
NotSolved
11.07.2016 08:00:05 Louis
NotSolved
11.07.2016 10:55:07 Gast27104
NotSolved
11.07.2016 14:25:51 Louis
NotSolved
11.07.2016 14:58:49 Gast84214
NotSolved
11.07.2016 15:40:35 Louis
NotSolved
11.07.2016 16:36:31 Gast92593
NotSolved
12.07.2016 07:03:30 Louis
NotSolved
12.07.2016 17:18:13 Gast33847
NotSolved
13.07.2016 08:26:53 Gast4203
NotSolved
13.07.2016 08:33:31 Gast19552
NotSolved
13.07.2016 17:55:45 Louis
NotSolved
13.07.2016 18:19:21 Gast8122
NotSolved
14.07.2016 07:24:23 Louis
NotSolved
15.07.2016 01:28:16 Gast82029
NotSolved
15.07.2016 11:04:10 Gast40590
NotSolved
15.07.2016 12:36:39 Gast72783
NotSolved
Blau Filter "durchblättern" mit zweitem gesetzten Filter
17.07.2016 23:24:59 Gast91690
NotSolved
20.07.2016 13:37:47 Louis
NotSolved

Ansicht des Beitrags:
Von:
Gast91690
Datum:
17.07.2016 23:24:59
Views:
874
Rating: Antwort:
  Ja
Thema:
Filter "durchblättern" mit zweitem gesetzten Filter

Hallo! Wie versprochen hier die getestete Version. Habe es probiert und läuft auch mit Datum etc. Hatte es da vorher glaube ich zu kompliziert aufgezogen. VG

Option Explicit

Dim stelle As Long

Sub filter_zurück()
Dim liste()
Dim daten()
ReDim liste(0)
Dim i As Long
Dim j As Long
Dim eintrag As Boolean
Application.ScreenUpdating = False
With ActiveSheet.ListObjects("Auftragsliste")


daten = Range(.AutoFilter.Range.Address)

stelle = stelle - 1

'Zeile 1 ist Übeschrift
     For i = 2 To .AutoFilter.Range.Rows.Count
         eintrag = False
         .Range.AutoFilter Field:=1
         If UBound(Filter(liste, "x" & CStr(daten(i, 1)) & "x", , vbBinaryCompare)) = -1 Then
             For j = 2 To .AutoFilter.Range.Columns.Count
                  If ActiveSheet.Rows(i + 1).Hidden = False Then eintrag = True
             Next j

             If eintrag = True Then
                 liste(0) = liste(0) + 1
                 ReDim Preserve liste(liste(0))
                 liste(liste(0)) = "x" & CStr(daten(i, 1)) & "x"
             End If
         End If
     Next

     If stelle = -1 Then stelle = UBound(liste)

     If stelle = 0 Then
         .Range.AutoFilter Field:=1
         Exit Sub
     End If

     .Range.AutoFilter Field:=1, Criteria1:=Replace(Replace(liste(stelle), "x", ""), ",", ".")

End With
Application.ScreenUpdating = True
End Sub


Sub filter_vor()
Dim liste()
Dim daten()
ReDim liste(0)
Dim i As Long
Dim j As Long
Dim eintrag As Boolean
Application.ScreenUpdating = False
With ActiveSheet.ListObjects("Auftragsliste")

daten = Range(.AutoFilter.Range.Address)

stelle = stelle + 1


'Zeile 1 ist Übeschrift
     For i = 2 To .AutoFilter.Range.Rows.Count
         eintrag = False
         .Range.AutoFilter Field:=1
         If UBound(Filter(liste, "x" & CStr(daten(i, 1)) & "x", , vbBinaryCompare)) = -1 Then
             For j = 2 To .AutoFilter.Range.Columns.Count
                  If ActiveSheet.Rows(i + 1).Hidden = False Then eintrag = True
             Next j

             If eintrag = True Then
                 liste(0) = liste(0) + 1
                 ReDim Preserve liste(liste(0))
                 liste(liste(0)) = "x" & CStr(daten(i, 1)) & "x"
             End If
         End If
     Next

     If stelle > UBound(liste) Then stelle = 0

     If stelle = 0 Then
         .Range.AutoFilter Field:=1

         Exit Sub
     End If

     .Range.AutoFilter Field:=1, Criteria1:=Replace(Replace(liste(stelle), "x", ""), ",", ".")

End With

Application.ScreenUpdating = True
End Sub

Sub erster()
Dim liste()
Dim daten()
ReDim liste(0)
Dim i As Long
Dim j As Long
Dim eintrag As Boolean

With ActiveSheet.ListObjects("Auftragsliste")
Application.ScreenUpdating = False



daten = Range(.AutoFilter.Range.Address)


     'Zeile 1 ist Übeschrift
     For i = 2 To .AutoFilter.Range.Rows.Count
         eintrag = False
         .Range.AutoFilter Field:=1
         If UBound(Filter(liste, "x" & CStr(daten(i, 1)) & "x", , vbBinaryCompare)) = -1 Then
             For j = 2 To .AutoFilter.Range.Columns.Count
                  If ActiveSheet.Rows(i + 1).Hidden = False Then eintrag = True
             Next

             If eintrag = True Then
                 liste(0) = liste(0) + 1
                 ReDim Preserve liste(liste(0))
                 liste(liste(0)) = "x" & CStr(daten(i, 1)) & "x"
             End If
         End If
     Next

     If UBound(liste) > 0 Then
         stelle = 1
     Else
         Exit Sub
     End If

     .Range.AutoFilter Field:=1, Criteria1:=Replace(Replace(liste(stelle), "x", ""), ",", ".")

End With
Application.ScreenUpdating = True
End Sub

Sub alle_leeren()

Debug.Print ActiveSheet.ListObjects.Count

  ActiveSheet.ListObjects("Auftragsliste").AutoFilter.ShowAllData


stelle = 0
End Sub


 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
07.07.2016 06:42:08 Louis
NotSolved
07.07.2016 08:38:18 Gast74447
NotSolved
07.07.2016 09:12:36 Gast57429
NotSolved
07.07.2016 16:35:23 Louis
NotSolved
07.07.2016 21:45:07 Gast81639
NotSolved
08.07.2016 07:11:00 Gast59957
NotSolved
08.07.2016 07:44:47 Louis
NotSolved
08.07.2016 07:46:36 Gast25169
NotSolved
08.07.2016 07:51:24 Gast74217
NotSolved
08.07.2016 13:27:28 Louis
NotSolved
08.07.2016 13:47:52 Gast77320
NotSolved
11.07.2016 08:00:05 Louis
NotSolved
11.07.2016 10:55:07 Gast27104
NotSolved
11.07.2016 14:25:51 Louis
NotSolved
11.07.2016 14:58:49 Gast84214
NotSolved
11.07.2016 15:40:35 Louis
NotSolved
11.07.2016 16:36:31 Gast92593
NotSolved
12.07.2016 07:03:30 Louis
NotSolved
12.07.2016 17:18:13 Gast33847
NotSolved
13.07.2016 08:26:53 Gast4203
NotSolved
13.07.2016 08:33:31 Gast19552
NotSolved
13.07.2016 17:55:45 Louis
NotSolved
13.07.2016 18:19:21 Gast8122
NotSolved
14.07.2016 07:24:23 Louis
NotSolved
15.07.2016 01:28:16 Gast82029
NotSolved
15.07.2016 11:04:10 Gast40590
NotSolved
15.07.2016 12:36:39 Gast72783
NotSolved
Blau Filter "durchblättern" mit zweitem gesetzten Filter
17.07.2016 23:24:59 Gast91690
NotSolved
20.07.2016 13:37:47 Louis
NotSolved