Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
320to324
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
320to324
320to324
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Autofilter-Kriterium automatisch auslesen!

Autofilter-Kriterium automatisch auslesen!
14.10.2003 14:54:02
Andre
Guten Tag,

habe folgenden Code bereits der Recherche entnommen, möchte aber diesen Code nicht immer manuell starten, sondern der Code soll ablaufen, sobald neu gefiltert wurde. Jetzt das Problem: Kein Schimmer wie!


Sub Filter()
z = [A1].CurrentRegion.Rows.Count
For i = 3 To z
If Rows(i).Hidden = False Then
Cells(1, 1) = Cells(i, 1)
Exit For
End If
Next i
End Sub


Wäre dankbar für eure Hilfe.

Gruß Andre

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

Betreff
Datum
Anwender
Anzeige
AW: Autofilter-Kriterium automatisch auslesen!
14.10.2003 15:47:30
Ramses
Hallo

der Code wird nicht funktionieren, weil er die Schleife abbricht wenn er eine Zeile findet die ausgeblendet ist. Somit also nicht zwingend bis zum Ende des gefilterten Datenbereiches kommt.

Verwende alternativ die Formel

=TEILERGEBNIS(2;A2:A100)

in einer freien Zelle, wenn dein Datenbereich von A2:A100 geht um die Anzahl der gefilterten Datensätze zu zählen.

Gruss Rainer
AW: Autofilter-Kriterium automatisch auslesen!
14.10.2003 15:57:44
Andre
Hi Rainer,

der Code macht eigentlich schon was ich möchte, nur muss ich ihn im Moment noch manuell ausführen.
Der Code gibt nur die erste Zelle wieder, die gerade unter dem Autofilter steht, d.h. ich habe somit mein Filterkriterium.
Oder ich merke nicht, daß mich der Code veralbert, aber das bezweifle ich.

Gruß Andre
Anzeige
AW: Autofilter-Kriterium automatisch auslesen!
14.10.2003 16:21:46
Ramses
Hallo

Das kommt so aber nicht richtig rüber.
Setze deine Code in das Klassenmodul deiner Tabelle wo du filterst unter


Private Sub Worksheet_Change(ByVal Target As Range)
End Sub


dann wird er jedesmal ausgeführt, wenn du in der Tabelle etwas änderst

Um das Kriterium richtig auszulesen ist das zwar machbar, aber eleganter wäre

'Autofilterkriterien in einer Zelle darstellen
'Aufruf über =Filterkriterien(Zelle in der Spalte) wo der Filter gesetzt wurde
Function FilterKriterien(rng As Range) As String
Dim Filter As String
Filter = ""
On Error GoTo Finish
With rng.Parent.AutoFilter
If Intersect(rng, .Range) Is Nothing Then GoTo Finish
With .Filters(rng.Column - .Range.Column + 1)
If Not .On Then GoTo Finish
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " UND " & .Criteria2
Case xlOr
Filter = Filter & " ODER " & .Criteria2
End Select
End With
End With
Finish:
FilterKriterien = Filter
End Function


oder einfacher

Function AutoFilterKriterium(Spalte As Long) As String
'von JensF aus dem Spotlight-Forum
'Kriterium des Autofilter aus spalte x auslesen
Dim x As Long
Application.Volatile
If ActiveSheet.AutoFilter.Filters(Spalte).On Then
Kriterium = ActiveSheet.AutoFilter.Filters(Spalte).Criteria1
End If
On Error Resume Next
Kriterium = Kriterium & "; " & ActiveSheet.AutoFilter.Filters(Spalte).Criteria2
'Schreibe nun in eine Zelle
'=kriterium(1)
End Function


Gruss Rainer
Anzeige
AW: Autofilter-Kriterium automatisch auslesen!
15.10.2003 08:44:54
Andre
Hi,

die Idee mit "Change" hatte ich auch schon, aber das Problem ist, beim Filtern ändert man die Tabelle ja nicht, sondern nur die Darstellungsweise. Also nutz mir Change nichts,
trotzdem danke.

Danke für deine elegante Lösung.

Gruß Andre

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige