Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1340to1344
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Feststellen ob Autofilter und Daten eff. gefiltert

Feststellen ob Autofilter und Daten eff. gefiltert
16.12.2013 22:27:54
Peter
Guten Abend
Ich habe in einer Tabelle einen Autofilter gesetzt.
Beim Verlassen der Tabelle lauft ein Code ab
Private Sub Worksheet_Deactivate()
End Sub
Nun möchte ich zuerst feststellen (mit einer UDF?), ob ein Activfilter gesetzt ist und wenn ja, ob alle Daten angezeigt werden.
Ich möchte nur dies feststellen und nicht etwa - falls die Tabelle gefiltert ist, mit ShowAllData alle Daten anzeigen. Wenn nicht alle Daten angezeigt werden, möchte ich das Ablaufen des Codes verhindern.
Ideal wäre, wenn ich als Rückgabe 0 (Null) erhalte, wenn kein Activfilter gesetzt ist; wen nich als Rückgabe 1 erhalte, wenn zwar ein Activfilter gesetzt ist, jedoch alle Daten angezeigt werden; wenn ich als Rückgabe eine 2 erhalte, wenn ein Activfilter gesetzt ist und nicht alle Daten angezeigt werden.
Wer kann mir weiter helfen?
Danke und Gruss, Peter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Feststellen ob Autofilter und Daten eff. gefiltert
16.12.2013 23:15:38
{Boris}
Hi Peter,
auf die Schnelle:
Option Explicit
Sub test()
Dim x As Long
x = 0
With Tabelle1
If Not .AutoFilter Is Nothing Then
If .AutoFilter.FilterMode Then
x = 2
End If
If x = 0 Then x = 1
End If
End With
MsgBox x
End Sub
Ergibt 0 (Filter gar nicht gesetzt), 1 (Filter gesetzt, aber nix gefiltert) oder 2 (Filter gesetzt und auch gefiltert).
VG, Boris

AW: Perfekt! Vielen Dank für die Antworten owT
17.12.2013 11:23:16
Peter

AW: Feststellen ob Autofilter und Daten eff. gefiltert
16.12.2013 23:18:11
Mustafa
Hallo Peter,
so prüfst du schon mal ob ein Autofilter gesetzt ist und ob ein Filterkriterium aktiv ist.
Sub Autofliter_Prüfen()
Dim i As Integer
Dim Wks As Worksheet
Set Wks = Worksheets("Tabelle1")
If Wks.AutoFilterMode = True Then
For i = 1 To Wks.AutoFilter.Filters.Count
If Wks.AutoFilter.Filters(i).On Then
MsgBox ("AAA")
End If
Next i
End If
End Sub

Rückmeldung obs Hilft wäre nett.
Gruß aus der Domstadt Köln.

Anzeige
{Boris} Code ist effektiver orT
16.12.2013 23:33:06
Mustafa
und bringt auch direkt die gewünschten Ergebnisse.
Gruß aus der Domstadt Köln.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige