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

Ansicht des Beitrags:
Von:
Gast19552
Datum:
13.07.2016 08:33:31
Views:
876
Rating: Antwort:
  Ja
Thema:
Filter "durchblättern" mit zweitem gesetzten Filter

Sorry, gab noch nen Fehler! Aber nu:

 

Option Explicit
  
Dim stelle As Long
      
Sub filter_zurück()
Dim liste()
Dim daten()
Dim filterwerte()
ReDim liste(0)
Dim i As Long
Dim j As Long
Dim eintrag As Boolean
 
With ActiveSheet.ListObjects("Auftragsliste")

ReDim filterwerte(.AutoFilter.Range.Columns.Count)
'nur das erste Kriterium
For i = 2 To .AutoFilter.Range.Columns.Count
     If .AutoFilter.Filters(i).On Then
        filterwerte(i) = Right(.AutoFilter.Filters(i).Criteria1, Len(.AutoFilter.Filters(i).Criteria1) - 1)
     Else
        filterwerte(i) = ""
     End If
Next i
  
daten = Range(.AutoFilter.Range.Address)
  
stelle = stelle - 1
    
'Zeile 1 ist Übeschrift
    For i = 2 To .AutoFilter.Range.Rows.Count
        eintrag = True
        If UBound(Filter(liste, "x" & CStr(daten(i, 1)) & "x", , vbBinaryCompare)) = -1 Then
            For j = 2 To .AutoFilter.Range.Columns.Count
                If filterwerte(j) <> "" Then
                    If CStr(daten(i, j)) <> filterwerte(j) Then eintrag = False
                End If
            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
           
        For i = 2 To .AutoFilter.Range.Columns.Count
            If filterwerte(i) <> "" Then .Range.AutoFilter Field:=i, Criteria1:=filterwerte(i)
        Next i
        Exit Sub
    End If
  
    .Range.AutoFilter Field:=1, Criteria1:=Replace(Replace(liste(stelle), "x", ""), ",", ".")

End With

End Sub
      
      
Sub filter_vor()
Dim liste()
Dim daten()
Dim filterwerte()
ReDim liste(0)
Dim i As Long
Dim j As Long
Dim eintrag As Boolean
  
With ActiveSheet.ListObjects("Auftragsliste")
  
ReDim filterwerte(.AutoFilter.Range.Columns.Count)
'nur das erste Kriterium
For i = 2 To .AutoFilter.Range.Columns.Count
     If .AutoFilter.Filters(i).On Then
        filterwerte(i) = Right(.AutoFilter.Filters(i).Criteria1, Len(.AutoFilter.Filters(i).Criteria1) - 1)
     Else
        filterwerte(i) = ""
     End If
Next i
  
daten = Range(.AutoFilter.Range.Address)
  
stelle = stelle + 1
 
    
'Zeile 1 ist Übeschrift
    For i = 2 To .AutoFilter.Range.Rows.Count
        eintrag = True
        If UBound(Filter(liste, "x" & CStr(daten(i, 1)) & "x", , vbBinaryCompare)) = -1 Then
            For j = 2 To .AutoFilter.Range.Columns.Count
                If filterwerte(j) <> "" Then
                    If CStr(daten(i, j)) <> filterwerte(j) Then eintrag = False
                End If
            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
        For i = 2 To .AutoFilter.Range.Columns.Count
            If filterwerte(i) <> "" Then .Range.AutoFilter Field:=i, Criteria1:=filterwerte(i)
        Next i
        
        Exit Sub
    End If
  
    .Range.AutoFilter Field:=1, Criteria1:=Replace(Replace(liste(stelle), "x", ""), ",", ".")

End With
End Sub
    
Sub erster()
Dim liste()
Dim daten()
Dim filterwerte()
ReDim liste(0)
Dim i As Long
Dim j As Long
Dim eintrag As Boolean
  
With ActiveSheet.ListObjects("Auftragsliste")
  
ReDim filterwerte(.AutoFilter.Range.Columns.Count)
'nur das erste Kriterium
For i = 2 To .AutoFilter.Range.Columns.Count
     If .AutoFilter.Filters(i).On Then
        filterwerte(i) = Right(.AutoFilter.Filters(i).Criteria1, Len(.AutoFilter.Filters(i).Criteria1) - 1)
     Else
        filterwerte(i) = ""
     End If
Next i
  
daten = Range(.AutoFilter.Range.Address)
  
 
    'Zeile 1 ist Übeschrift
    For i = 2 To .AutoFilter.Range.Rows.Count
        eintrag = True
        If UBound(Filter(liste, "x" & CStr(daten(i, 1)) & "x", , vbBinaryCompare)) = -1 Then
            For j = 2 To .AutoFilter.Range.Columns.Count
                If filterwerte(j) <> "" Then
                    If CStr(daten(i, j)) <> filterwerte(j) Then eintrag = False
                End If
            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 UBound(liste) > 0 Then
        stelle = 1
    Else
        Exit Sub
    End If
  
    .Range.AutoFilter Field:=1, Criteria1:=Replace(Replace(liste(stelle), "x", ""), ",", ".")

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