Live-Forum - Die aktuellen Beiträge
Datum
Titel
03.05.2024 10:49:02
03.05.2024 10:43:56
03.05.2024 07:38:32
Anzeige
Archiv - Navigation
1928to1932
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

Array in AutoFiiter mit UNGLEICH (<>)

Array in AutoFiiter mit UNGLEICH (<>)
23.04.2023 10:07:54
Florian

Hi Leute,

mit diesem Code filtere ich alle Werte außer die in den Kriterien als ungleich angegebenen:

wksTabelle.Range("A1:F2000").AutoFilter Field:=intSpalteZiffer, Criteria1:=">", Operator:=xlAnd, Criteria2:=">Umsatz"

Allerdings brauche ich in der gleichen Spalte noch mehrere ungleich Werte.

Wenn ich den Operator weglasse oder xlFilterAnd nutze, nimmt er nur den letzten Wert im Array als Filterkriterium, also Konzern.

wksTabelle.Range("A1:F2000").AutoFilter Field:=intSpalteZiffer, Operator:=xlFilterAnd, Criteria1:=Array(">", ">Umsatz", ">Konzern")


Wenn ich es mit xlFilterValues versuche, erhalte ich einen Fehler 1004 (Autofilter-Methode konnte nicht ausgeführt werden).

Wie kann ich das den umsetzen?

Danke Euch!
Flo

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array in AutoFiiter mit UNGLEICH (<>)
23.04.2023 12:40:10
GerdL
Hi
Dim notKrit, Krit, X, a As Integer, i As Long
Const intspalte = 1


notKrit = Split("Umsatz Konzern")

X = wksTabelle.Cells(2, intspalte).Resize(1999).Value
ReDim Krit(1 To 1999)

For i = LBound(X) To UBound(X)
    If IsError(Application.Match(X(i, 1), notKrit, 0)) Then
        a = a + 1
        Krit(a) = X(i, 1)
    End If
Next

ReDim Preserve Krit(a)
wksTabelle.Range("A1:F2000").AutoFilter Field:=intspalte, Criteria1:=Krit, Operator:=xlFilterValues

Gibt es diesmal eine Antwort?
Gruß Gerd


AW: Array in AutoFiiter mit UNGLEICH (<>)
23.04.2023 12:55:03
Florian
Hi Gerd,

ich verstehe den Code nicht ganz.

Wieso geht Du die zu filternde Tabelle durch mit der Schleife?

Und wieso nutzt Du diesen Code-Teil?

notKrit = Split("Umsatz Konzern")
Freu mich über eine kurze Info, damit ich verstehe was passiert :)


Anzeige
AW: Array in AutoFiiter mit UNGLEICH (<>)
23.04.2023 12:59:41
GerdL
Hi Flo!

a) Weil mein VBA keine Möglichkeit im Autofilter zum Ausschluß von mehreren (mehr als 2) Werten vorsieht.
b) Um mehrere Prüfzeilen in der Schleife zu vermeiden.

Gruß Gerd


AW: Array in AutoFiiter mit UNGLEICH (<>)
24.04.2023 10:26:14
Daniel
Hi
wenn du mehr als zwei Filterwerte hast, dann funktioniert das nur über das Filterarry.
Das ist aber gegenüber dem normalen Filtern funktional eingeschränkt, dh die ganzen kleinen Helferlein wie &lt ,&gt oder die Joker * und ? bei Texten funktionieren hier nicht, dh das Array muss jeden Wert, der angezeigt werden soll, mindestens 1x vollständig enthalten.
Daher muss man, wenn man mehrere Filterkriterien hat, einmal über die Werte der Spalte drüberlaufen und aus den Werten dann das Array zu erstellen.
Gruß Daniel


Anzeige
AW: Array in AutoFiiter mit UNGLEICH (<>)
24.04.2023 10:42:07
Florian
Ok verstehe danke, Dir! 😊

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige