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

Ansicht des Beitrags:
Von:
Gast74217
Datum:
08.07.2016 07:51:24
Views:
847
Rating: Antwort:
  Ja
Thema:
Filter "durchblättern" mit zweitem gesetzten Filter

Moin! Dann mal so probieren. Habe den WErt anders ermittelt. Viele Wege führen ja nach Rom. :-) VG

 

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
 
ReDim filterwerte(ActiveSheet.AutoFilter.Range.Columns.Count)
'nur das erste Kriterium
For i = 2 To ActiveSheet.AutoFilter.Range.Columns.Count
     If ActiveSheet.AutoFilter.Filters(i).On Then
        filterwerte(i) = Right(ActiveSheet.AutoFilter.Filters(i).Criteria1, Len(ActiveSheet.AutoFilter.Filters(i).Criteria1) - 1)
     Else
        filterwerte(i) = ""
     End If
Next i
 
daten = Range(ActiveSheet.AutoFilter.Range.Address)
 
stelle = stelle - 1
If ActiveSheet.AutoFilterMode = True Then
   
'Zeile 1 ist Übeschrift
    For i = 2 To ActiveSheet.AutoFilter.Range.Rows.Count
        eintrag = True
        If UBound(Filter(liste, CStr(daten(i, 1)), , vbBinaryCompare)) = -1 Then
            For j = 2 To ActiveSheet.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)) = CStr(daten(i, 1))
            End If
        End If
    Next
 
    If stelle = -1 Then stelle = UBound(liste)
   
    If stelle = 0 Then
        Range("Auftragsliste").AutoFilter Field:=1
        Exit Sub
    End If
 
    Range("Auftragsliste").AutoFilter Field:=1, Criteria1:=Replace(liste(stelle), ",", ".")
Else
    ActiveSheet.AutoFilterMode
End If
  
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
 
ReDim filterwerte(ActiveSheet.AutoFilter.Range.Columns.Count)
'nur das erste Kriterium
For i = 2 To ActiveSheet.AutoFilter.Range.Columns.Count
     If ActiveSheet.AutoFilter.Filters(i).On Then
        filterwerte(i) = Right(ActiveSheet.AutoFilter.Filters(i).Criteria1, Len(ActiveSheet.AutoFilter.Filters(i).Criteria1) - 1)
     Else
        filterwerte(i) = ""
     End If
Next i
 
daten = Range(ActiveSheet.AutoFilter.Range.Address)
 
stelle = stelle + 1
If ActiveSheet.AutoFilterMode = True Then
   
'Zeile 1 ist Übeschrift
    For i = 2 To ActiveSheet.AutoFilter.Range.Rows.Count
        eintrag = True
        If UBound(Filter(liste, CStr(daten(i, 1)), , vbBinaryCompare)) = -1 Then
            For j = 2 To ActiveSheet.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)) = CStr(daten(i, 1))
            End If
        End If
    Next
     
    If stelle > UBound(liste) Then stelle = 0
 
    If stelle = 0 Then
        Range("Auftragsliste").AutoFilter Field:=1
        Exit Sub
    End If
 
    Range("Auftragsliste").AutoFilter Field:=1, Criteria1:=Replace(liste(stelle), ",", ".")
Else
    Range("Auftragsliste").AutoFilter
End If
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
 
ReDim filterwerte(ActiveSheet.AutoFilter.Range.Columns.Count)
'nur das erste Kriterium
For i = 2 To ActiveSheet.AutoFilter.Range.Columns.Count
     If ActiveSheet.AutoFilter.Filters(i).On Then
        filterwerte(i) = Right(ActiveSheet.AutoFilter.Filters(i).Criteria1, Len(ActiveSheet.AutoFilter.Filters(i).Criteria1) - 1)
     Else
        filterwerte(i) = ""
     End If
Next i
 
daten = Range(ActiveSheet.AutoFilter.Range.Address)
 
If ActiveSheet.AutoFilterMode = True Then
    'Zeile 1 ist Übeschrift
    For i = 2 To ActiveSheet.AutoFilter.Range.Rows.Count
        eintrag = True
        If UBound(Filter(liste, CStr(daten(i, 1)), , vbBinaryCompare)) = -1 Then
            For j = 2 To ActiveSheet.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)) = CStr(daten(i, 1))
            End If
        End If
    Next
     
    If UBound(liste) > 0 Then
        stelle = 1
    Else
        Exit Sub
    End If
 
    Range("Auftragsliste").AutoFilter Field:=1, Criteria1:=Replace(liste(stelle), ",", ".")
Else
    Range("Auftragsliste").AutoFilter
End If
 
End Sub
 
Sub alle_leeren()
If ActiveSheet.AutoFilterMode = True Then Range("Auftragsliste").AutoFilter
Range("Auftragsliste").AutoFilter
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
Rot Filter "durchblättern" mit zweitem gesetzten Filter
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
17.07.2016 23:24:59 Gast91690
NotSolved
20.07.2016 13:37:47 Louis
NotSolved