Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Autofilter über ActiveX Steuerelement

Autofilter über ActiveX Steuerelement
27.06.2024 14:27:52
Excelfan1
Hallo zusammen,
ich möchte gerne eine Tabelle mit Namen "Option" über eine ComboBox im UserForm filtern.
Weil ich das nicht hinbekomme habe ich testhalber in meinem Tabellenblatt zwei OptionButton und eine ´ComboBox (mit Werten von 1 bis 5 gefüllt) angelegt.

Über den OptionButton1 funktioniert das filtern bei z.B. dem Wert 5 mit
Private Sub OptionButton1_Click()
ThisWorkbook.Worksheets("Daten").Activate
ActiveSheet.Range("Option").AutoFilter 1, 5
End Sub

und auch mit
ActiveSheet.Range("Option").AutoFilter 1, ComboBox2.Value
wenn in der ComboBox ein Wert ausgewählt wird, wird meine Tabelle entsprechend diesem Wert gefiltert wenn ich den OptionButton1 aktiviere.

Bei filtern über die ComboBox mit
Private Sub ComboBox2_Change()
ThisWorkbook.Worksheets("Daten").Activate
ActiveSheet.Range("Option").AutoFilter 1, ComboBox2.Value
funktioniert es nicht. Es erscheint in der Zeile "ActiveSheet.Range("Option").AutoFilter 1, ComboBox2.Value" die Fehlermeldung "Laufzeitfehler '1004': Die Autofiltermethode des Range-Objekts konnte nicht durchgeführt werden". Die Tabelle wird aber trotzdem gefiltert.

Warum?

Wie muß der Code lauten damit ich meine Tabelle mit der ComboBox im UserForm filtern kann?

Wäre schön, wenn mir jemand die beiden Fragen beantworten könnte


Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter über ActiveX Steuerelement
27.06.2024 14:47:15
ralf_b
vielleicht wird aus irgend einem Grund der Autofilter ein zweites Mal aufgerufen. das erste mal funktioniert und dann gibt es den Fehler, weil is schon gefiltert.
AW: Autofilter über ActiveX Steuerelement
27.06.2024 16:45:56
Piet
Hallo

ohne Beispieldatei können wir jetzt nur raten. Probieren wir es einfach mal. Test bitte folgendes:
1) setze bitte mal vor ComboBox2 noch den Namen der UserForm.
2) Hole dir den Wert der ComboBox in eine Variable, String oder Variant
3) Was ist mit dem Range("Option") Bereich? Ist das ein gültiger Bereich?

Bitte mal zur Kontrolle den Wert von ComboBox2 und Range(Option) mit MsgBox anzeigen lassen.
Viel Glück beim testen. Ich bin gespannt was dabei hertauskommt??

mfg Piet
Anzeige
AW: Autofilter über ActiveX Steuerelement
27.06.2024 18:06:46
Excelfan1
Hallo Piet,
aktuell habe in der Testdatei noch kein UserForm.
Alles andere weiß ich nicht was ich tun muß.
Die MsgBox habe ich eingefügt.
Meine Datei anbei
https://www.herber.de/bbs/user/170544.xlsm
AW: Autofilter über ActiveX Steuerelement
27.06.2024 19:05:27
ralf_b
verlagere die intelligenten Tabellen so das sie keine gemeinsamen Zeilen mehr haben.
der Filter löst ein Change in der Combobox aus, weil auch deren Zeilen gefiltert werden.
Anzeige
AW: Autofilter über ActiveX Steuerelement
27.06.2024 20:19:40
Piet
Hallo

ich denke es gibt evtl. auch noch ein Problem mit der ComboBox2, wenn es kein AktiveX Steuerelement ist?
Für ein normales Blatt Objekt müsste man den unteren Code nehmen. Der benutzt den DrawingObjekt Code.

mfg Piet



Dim ComBox As Variant

Private Sub OptionButton1_Click()
ThisWorkbook.Worksheets("Daten").Activate

With ThisWorkbook.Worksheets("Auswertung")
ComBox = .DropDowns(1).Value 'Oder so:
ComBox = .DropDowns("ComboBox2").Value
End With

'ActiveSheet.Range("Option").AutoFilter
ActiveSheet.Range("Option").AutoFilter 1, ComBox
MsgBox "Option ist" & ComBox
End Sub


Private Sub ComboBox2_Change()
ThisWorkbook.Worksheets("Daten").Activate

With ThisWorkbook.Worksheets("Auswertung")
ComBox = .DropDowns(1).Value 'Oder so:
ComBox = .DropDowns("ComboBox2").Value
End With

MsgBox "bitte Option wählen"
''
'''ActiveSheet.Range("Option").AutoFilter
ActiveSheet.Range("Option").AutoFilter 1, ComBox
'MsgBox "filtern fehlgeschlagen"
End Sub
Anzeige
AW: Autofilter über ActiveX Steuerelement
27.06.2024 21:06:36
Excelfan1
Hallo Ralf, hallo Piet,

der Tipp von Ralf war Gold wert. Kaum verschoben schon klappt es. Ich frage mich nur warum.
Worin besteht der Unterschied, ob ich über OptionButton oder über ComboBox auswähle. Ist mir schleierhaft.

@Piet: es ist ein AktiveX Steuerelement

Wie ich eingangs geschrieben hatte war das mit OptionButton und ComboBox ein Versuch, ob es meine Tabelle tatsächlich so filtern würde.

Gefiltert werden soll aber über die ComboBox cbZahl im UserForm.
mit
Private Sub cbZahl_Change()
Dim ListObject As Variant - keine Ahnung ob das richtig ist
ThisWorkbook.Worksheets("Daten").Activate
MsgBox "Option ist " & cbZahl.Value
ListObject("Option").AutoFilter Field:=1, Criteria1:=cbZahl.Value - hier entsteht der Fehler "Laufzeitfehler13 , Typen unverträglich
End Sub
ist es nicht getan.
Ich vermute, es liegt an dem Suchkriterium Criteria1.

Könnt ihr mir bitte helfen.

Datei mit UserForm anbei
https://www.herber.de/bbs/user/170548.xlsm


Anzeige
AW: Autofilter über ActiveX Steuerelement
27.06.2024 22:00:55
Piet
Hallo

was zeigt dir denn die MsgBox bei -cbZahl.Value- als Wert an?? Stimmt dieser Wert??
Diese Zeile würde ich löschen - Dim ListObject As Variant - keine Ahnung ob das richtig ist
ListObjekt ist ein Objekt! Und könnte mit Dim ListObject kollidieren!?

mfg Piet
AW: Autofilter über ActiveX Steuerelement
28.06.2024 00:18:18
Excelfan1
die MsgBox zeigt den ausgewählten Wert an.
Das mit ListObject ... .AutoFilter Field:=1 ... hab ich aus verschiedenen Beiträgen aus diesem Forum.
Und weil mir bei ListObject der Fehler: Fehler beim kompilieren Sub oder Function nicht definiert
angezeigt wurde habe ich das ursprünliche Dim ListObject As Range geändert, da ich mich ja auf meine benannte Tabelle "Option" beziehe und nicht auf meinen zu filternden Bereich ("B20:B81").



Anzeige
AW: Autofilter über ActiveX Steuerelement
28.06.2024 00:00:59
ralf_b
versuchs mal damit
 With ThisWorkbook.Worksheets("Daten")

MsgBox "Option ist " & cbZahl.Value
.ListObjects("Option").Range(1).AutoFilter
.ListObjects("Option").Range(1).AutoFilter 1, cbZahl.Value
End With
AW: Autofilter über ActiveX Steuerelement
28.06.2024 00:23:51
Excelfan1
Danke Ralf, funzt :-)))
Anzeige
AW: Autofilter über ActiveX Steuerelement
27.06.2024 16:48:33
Piet
Nachtrag -- wenn du in deinen Code eine MsgBox zum testen einbaust siehst du auch ob der Autofilter zweimal aktiviert wird!
AW: Autofilter über ActiveX Steuerelement
27.06.2024 16:26:09
Excelfan1
nein das ist es nicht.
Ich habe in der Tabelle wieder alle Zeilen sichtbar gemacht und alles andere aus der Datei entfernt.
Tabelle wird gefiltert aber die Fehlermeldung kommt trotzdem
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige