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
Rot Filter "durchblättern" mit zweitem gesetzten Filter
15.07.2016 12:36:39 Gast72783
NotSolved
17.07.2016 23:24:59 Gast91690
NotSolved
20.07.2016 13:37:47 Louis
NotSolved

Ansicht des Beitrags:
Von:
Gast72783
Datum:
15.07.2016 12:36:39
Views:
967
Rating: Antwort:
  Ja
Thema:
Filter "durchblättern" mit zweitem gesetzten Filter

Und schon wieder ich. Also komme erst am Sonntag zum Testen und Feintunen. Falls du aber schonmal probieren willst, nach meinem Verständnis könnte / sollte folgender Code das auch machen. Am Sonntag Abend dann eine gestestete Version. 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
  
With ActiveSheet.ListObjects("Auftragsliste")
Application.ScreenUpdating = False

  
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
   
With ActiveSheet.ListObjects("Auftragsliste")
      
Application.ScreenUpdating = False
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 jj
           
            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
Rot Filter "durchblättern" mit zweitem gesetzten Filter
15.07.2016 12:36:39 Gast72783
NotSolved
17.07.2016 23:24:59 Gast91690
NotSolved
20.07.2016 13:37:47 Louis
NotSolved