Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1924to1928
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
VBA Autofilter mehrere Kriterien
05.04.2023 12:03:40
Mia

Liebe VBA-Experten,

ich komme bei einer VBA-Programmierung nicht weiter und finde nicht wo der Fehler liegt. Ich habe eine Datei. Auf einem Tabellenblatt (sagen wir Tabelle1) ist ein CommandButton mit untenstehendem Code. Der Code soll das Tabellenblatt "III. Activities legal areas" aktivieren und dann einen Autofilter mit mehreren Kriterien setzen. Die Kriterien kommen aus den Zellen D5:D10. Gefiltert werden sollen die Daten ab Zeile 13 (in Zelle A13 steht der erste Wert; es gibt keine Spaltenüberschriften)

Könnt ihr mir weiterhelfen? Vielen lieben Dank im Voraus!!

Private Sub CommandButton2_Click()

Sheets("III. Activities legal areas").Select

With ActiveWindow
.ScrollColumn = 1
.ScrollRow = 1
End With

Sheets("III. Activities legal areas").Range("A1").Select

ActiveWindow.Zoom = True

Dim KriterienAutofilter As Variant
Dim lngZeileMax As Long

With Sheets("III. Activities legal areas")

lngZeileMax = .Range("A12" & .Rows.Count).End(xlUp).Row

KriterienAutofilter = Array(.Range("D5").Text, _
.Range("D6").Text, _
.Range("D7").Text, _
.Range("D8").Text, _
.Range("D9").Text, _
.Range("D10").Text)

.Range("$A$13:$N$" & lngZeileMax).AutoFilter Field:=1, _
Criteria:=Array(KriterienAutofilter), _
Operator:=xlFilterValues

End With

End Sub

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Autofilter mehrere Kriterien
05.04.2023 12:07:56
Nepumuk
Hallo Mia,

da ist eine Array-Methode zu viel. Teste mal:

.Range("$A$13:$N$" & lngZeileMax).AutoFilter Field:=1, _
    Criteria:=KriterienAutofilter, Operator:=xlFilterValues
Gruß
Nepumuk


AW: VBA Autofilter mehrere Kriterien
05.04.2023 12:27:24
Daniel
Hi
da stört sich Excel aber nicht dran.
bei mir funktioniert das auch mit der zusätzlichen Array-Funktion.
Gruß Daniel


AW: VBA Autofilter mehrere Kriterien
05.04.2023 12:38:07
Mia
Lieber Nepumuk,

vielen lieben Dank für deine schnelle Antwort. Ich habe deinen Code ausprobiert aber es funktioniert trotzdem nicht. Die Fehlermeldung ist 1004 Anwendungs- oder Objektdefinierter Fehler und im Code wird die Zeile lngZeileMax = .Range("A13" & .Rows.Count).End(xlUp).Row gelb markiert

Viele Grüße
Mia


Anzeige
AW: VBA Autofilter mehrere Kriterien
05.04.2023 12:24:33
Daniel
Hi
der erste schritt bei einem Fehler ist immer sich anzuschauen, was passiert, dh gibt es eine Fehlermeldung, wenn ja welche und in welcher Zeile? Wenn nein, was passiert denn? wird alles angezeigt oder wird alles ausgeblendet?
Fragt man andere Menschen um Hilfe, dann sollte es eigentlich selbstverständlich sein, dass man diese Informationen auch weitergibt.

Sollte dein Code keine Fehlermeldung bringen und alles ausblenden, könnte es daran liegen, dass du Jokerzeichen verwedest.
das FilterArray kann keine Jokerzeichen verarbeiten, sondern du musst im FilterArray jeden Wert, der angezeigt werden soll, genau so hinterlegen wie er in der Zelle steht.

Wenn du Jokerzeichen in den Kriterien hast, wäre das einfachste eine Hilfsspalte mit der Formel:
=SummenProdukt(ZählenWenn(A3;D$6:D$10))
und dann filterst du nach dieser Hilfsspalte nach größer 0

Gruß Daniel


Anzeige
AW: VBA Autofilter mehrere Kriterien
05.04.2023 12:35:21
Mia
Lieber Daniel,
sorry, ich habe mich so auf das Beschreiben der Tabelle konzentriert, dass ich die Fehlermeldung total vergessen habe. Es passiert gar nichts. Also es wird nichts ausgeblendet. Das Tabellenblatt wird aufgerufen aber dann öffnet sich der Debugger (Fehlermeldung 1004 Anwendungs- oder objektdefinierter Fehler). Im Debugger wird dann die Zeile lngZeileMax = .Range("A13" & .Rows.Count).End(xlUp).Row gelb markiert.

Viele Grüße
Mia


AW: VBA Autofilter mehrere Kriterien
05.04.2023 12:38:50
Nepumuk
Hallo Mia,

so:

lngZeileMax = .Cells(.Rows.Count, 1).End(xlUp).Row
Gruß
Nepumuk


Anzeige
AW: VBA Autofilter mehrere Kriterien
05.04.2023 12:44:23
Mia
Lieber Nepumuk,

jetzt wird mir die Zeile

.Range("$A$13:$N$" & lngZeileMax).AutoFilter Field:=1, _
Criteria:=KriterienAutofilter, Operator:=xlFilterValues

gelb im Code markiert.

Viele Grüße
Mia


AW: VBA Autofilter mehrere Kriterien
05.04.2023 13:01:10
Daniel
sorry, aber da passt überhaupt nichts zusammen
das fängt schon mal damit an, dass die Zellen in Spalte A, in der du filtern möchtest leer sind und die Daten beginnen nicht in Zeile 12.
ich finde auch die Begriffe, die in D5:D10 stehen, nirgendwo in der Tabelle.
Gruß Daniel


Anzeige
AW: VBA Autofilter mehrere Kriterien
05.04.2023 13:10:04
Mia
Lieber Daniel,

die Daten im Tabellenblatt "III. Activities legal areas") in Spalte A sind in Schriftfarbe weiß, damit man die Werte nicht sieht. Die Werte aus D5:D10 stehen in Spalte A ab Zeile 13 (aber unsichtbar).

Viele Grüße
Mia


AW: VBA Autofilter mehrere Kriterien
05.04.2023 14:45:48
Daniel
wenn du Hilfe möchtest, solltest du es den Helfern so einfach wie möglich machen.


A13 & Rows.Count ....
05.04.2023 12:45:46
Rudi Maintaire
...ergibt A131048576. Eine Zelle, die es nicht gibt, Mia

Gruß
Rudi


AW: A13 & Rows.Count ....
05.04.2023 13:00:59
Mia
Lieber Rudi,

ich habe jetzt den Teil lngZeileMax aus dem Code rausgenommen und weiter unten folgendes eingegeben aber dieser Teil des Codes löst weiterhin einen Fehler aus und wird gelb markiert

.Rows(13).AutoFilter Field:=1, _
Criteria:=KriterienAutofilter, Operator:=xlFilterValues

Viele Grüße
Mia


Anzeige
AW: VBA Autofilter mehrere Kriterien
05.04.2023 13:17:10
snb
Verwende:

Sub M_snb()
  With Sheets("III. Activities legal areas").UsedRange.Offset(11)
    .AutoFilter 1, [transpose(D5:D10)], 7
   End With
End Sub


noch ein Fehler
05.04.2023 15:58:54
Daniel
Es gibt beim Autofilter keinen Parameter "Criteria"
da man beim Autofilter zwei Unterschiedliche Filterbedingungen eingeben kann, gibt es "Criteria1" und "Criteria2", wobei "Criteria1" befüllt werden muss und "Criteria2" bei Bedarf befüllt werden kann.
einfach mal die 1 ergänzen.

Gruß Daniel

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige