Anzeige
Archiv - Navigation
1612to1616
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 Dialog nur öffnen ...
22.03.2018 13:47:21
udo
Hallo Forum,
ich hätte eine Frage zum Autofilter ... ich würde gerne ein bestimmtes Verhalten des Autofilters erreichen - dass sich nur der Dialog eines Filters öffnet, dann soll der Code anhalten.
Sprich :
Ich habe über folgenden Code ...
ActiveSheet.Range("$H$80:$AP$10000").Autofilter Field:=8, Criteria1:="...", Operator:=xl 'xlFilterValues
wäre dies in diesem Spaltenbereich der achte Filter der nach einem bestimmten
Kriterium dann sucht .. wenn ich unter Criterial das Kriterium schon angebe
such er natürlich gleich durch und filtert bereits die entspr. Spalte
Nun würde ich gerne :
Den Kriterienberich zunächst ohne Vorgabe belassen, hier sehe ich 2 Wege.
1. ) Über eine Inputbox ( die mit irgendeiner Zelle zB. B1 verlinkt ist könnte ich oberen Code in das Changeereignis der Inputbox fügen mit Criterial=B1 ...
dann sollte es bereist funktionieren ( allerdings habe ich hier bei nicht die Möglichkeit während ich einen Bereich nach u nach erweitert eingebe bereits in einer Art Vorschau zu sehen , ob solch ein Begriff überhaupt in der Spalte existiert - quasi so wie in dem Suchfeld des Autofilters !)
2. und genau darum geht es mir , ich stelle mir einen einfachen Weg ( wenn er so zu realisieren wäre ) vor. der einfach den achten Autofilter Dialog öffnet, wie wenn ich bei dieser Spalte dann das Filter-DropDown öffne und sich dann das Dialogfenster dieser Spalte und dessen zugeordneten Filter zeigt. Mehr soll der Code noch nicht ausführen , nur den Dialog öffnen ?
Ginge das ? ich hab bereits etwas recherchiert hierzu u bin auf folgendes gestoßen ...
( auf meines angepasst : )
Range("H80:AP10000").AutoFilter
Application.Dialogs(xlDialogFilter).show 2
öffnet aber ein ganz anderes Fenster als das des regulären AF.
Habt ihr eine Idee ?
Lieben Dank Udo

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Habe einen Ansatz gefunden , jedoch ...
22.03.2018 14:51:54
udo
wenn ich es bei mir umsetze läuft es ncoh nicht wie gewünscht !?
Hier das Beispiel:
der erste Command Button liefert mir meinen Wunsch, allerdings wenn ich es versuche auf meine
Datei umzumünzen kriege ich es wie erwähnt nicht zum Laufen ... reagiert nicht , und auch keine FehlMeld. ?
Beispieldatei :
http://www.excel-werkstatt.de/n_forum/gallery/11_from_Ste_Ro_autofilter-sendkey.xlsm
aus folgendem Beitrag :
http://www.excel-werkstatt.de/n_forum/viewthread.php?boardid=11&thid=5511
hmmm , eigentlich hängt es doch mit ...
ActiveSheet.Range("$H$80:$AP$10000").Autofilter Field:=4, Operator:=xlAdd
>>>>> Range("N80").Select: SendKeys "%{Down}", True zusammen ? oder irre ich mich ?
In der Beispieldatei klappt es wunderbar setzte ich es bei mir ein öffnet sich der Autofilterdialog nicht ?
Habt ihr eine Idee ?
LG udo
Anzeige
AW: Habe einen Ansatz gefunden , jedoch ...
22.03.2018 16:02:21
Robert
Hallo Udo,
in der Beispieldatei funktioniert es aber auch nur, weil nach dem Öffnen des Filter-DropDown das Makro zu Ende ist. Fügst Du z. B. nur eine MsgBox noch an, funktioniert auch die Beispieldatei nicht so, wie Du es willst. Eine Unterbrechung des Makrocodes, bis ein entsprechender Eintrag ausgewählt ist und anschließender Weiterabarbeitung des Codes wird so nicht funktionieren.
Aber vielleicht weiß sonst jemand noch einen Rat für Dich.
Gruß
Robert
ja eben , das war auch mein Gedanke , danke ...
22.03.2018 17:40:00
udo
dir für deine Hilfe.
Wäre prima wenn noch Jemand eine Idee dazu hätte
Vielen herzlichen Dank für alle Hilfen
Udo
Anzeige
AW: VBA - Autofilter Dialog nur öffnen ...
22.03.2018 17:44:10
onur
Range("H80:AP10000").AutoFilter
ExecuteExcel4Macro "filter?(8)"
Hallo Onur, leider klappt es so nicht ...
22.03.2018 20:47:37
udo
habe es gerade versucht , geht so nicht ... hmmm
Aber das Execute ... wäre evtl. eine Idee ?
Für das neue Druckfenster gibt es ja diesen Befehl ( neulich auch hier im Forum gepostet )
Call Application.CommandBars.ExecuteMso("PrintPreviewAndPrint").
Kann man da drauf aufbauen ? Kennt ihr euch damit aus ?
LG udo
AW: Hallo Onur, leider klappt es so nicht ...
22.03.2018 20:52:54
onur
Wieso nicht? Bei mir schon.
Das Menüfenster sieht zwar anders aus, aber funktioniert genauso.
Du musst nur drauf achten, daß Autofilter vor Start des makros NICHT aktiviert (Pfeile nicht sichtbar) ist.Wenn bereits aktiviert:
Range("H80:AP10000").AutoFilter 

weglassen.
Anzeige
Stimmt du hast recht, jedoch ...
22.03.2018 21:26:34
udo
ein Problem dabei ist folgendes :
Zunächst nochmal lieben Dank für deine Hilfe, ...
Habe ich einen Autofilter über mehrere Spalten gesetzt, in denen auch etliche Werte in den Spalten
stehen , so kann man - wenn man den DropDown eine dieser Spalten auswählt in dem sich öffnenden
Dialog eben ( ganz wichtig in meinem Fall ) eben in der Suchzeile Begriffe eingeben, die bereits während der Eingabe dort schon die gesamte Spalte filtert und die Auswahl von Buchstabe zu Buchstabe der mehr reingeschrieben wird schon zeigt was zu filtern möglich ist in dieser Spalte.
Dieses Verhalten habe ich bislang eben nur im regulären Autofilter Dialog gesehen oder kennengelernt. unseren Damen u Herren die mit dieser TAb später arbeiten geht es primär darum diese Funktion zu erhalten.
In der Lösung die du erwähntest habe ich zwar die Möglichkeit einen Begriff einzugeben, jedoch während der Eingabe habe ich noch keine Rückmeldung ob solch ein Begriff in dieser Spalte überhaupt vorkommt , oder irre ich mich ?
Ich würde eben daher gerne ein Makro in sofern schon einmal auf Grund div. Voreinstellungen in der Art lenken, dass ich den Bereich schon mal vorgebe in dem gesucht wird, und sich abschließend das Makro dann so verhält das es letztlich dann eben das reguläre Autofilter Dialogfeld zeigt mit eben dieser Suchzeile, dann könnten meine Anwender das Makro ausführen und sich im öffnenden Fenster in der Suchzeile ihren gewünschten Begriff suchen und diese Spalte danach filtern lassen.
Klingt vielleicht etwas schwergewichtig, sollte aber nur gleich die richtigen Bereiche offerieren im Ablauf später ..die Starten dann das Makro, evtl laufen irgendwelche anderen Aktionen davor noch ab, zB. ein Text in einer Textbox ändert sich ... die Farbe der Textbox auch ... dann würde der Autofilterbereich definiert werden und abschließend öffnet sich diese Suchzeile im AF Dialog...
Das wäre so meine Idealvorstellung.
Ich danke dir aber sehr für deine Hilfe
LG udo
Anzeige
ich versuche mich solange eben an der oben
22.03.2018 21:28:38
udo
beigefügten Beispieldatei ... irgendwie muss das doch gehen, in der Datei geht es doch auch ..
LG Udo
AW: ich versuche mich solange eben an der oben
22.03.2018 21:34:37
onur
In der Beispieldatei wird die Zelle mit dem achten Filter (Pfeil) selektiert und per "SendKeys" ein "Cursor Down" gesendet, so müsste es eigentlich klappen.
AW: Stimmt du hast recht, jedoch ...
22.03.2018 21:29:44
onur
Meines Wissens gibt es keine andere Möglichkeit, das Autofilter-Menüfeld zu zeigen.
ich danke dir sehr, tüftle gerade schon daran ...
22.03.2018 21:41:33
udo
herum, würde es gleich noch posten , habe glaube eine passende Lösung heruasgefunden
auf Basis des Beispieles oben ...
würde es gleich noch posten
LG udo
AW: ich danke dir sehr, tüftle gerade schon daran ...
22.03.2018 21:45:01
onur
Nach dem Sendkeys kannst du eine Warteschleife einbauen, die dem User z.B. für 10 sec die Zeit gibt, etwas auszuwählen, und zwar so:
t=timer'vorher DIM´men
while timer-t

Anzeige
ok prima, teste ich gleich mit ;-)
22.03.2018 22:01:48
udo
... bin gleich soweit
Ok, schau mal hier, so klappt es schon ....
22.03.2018 22:12:52
udo
Habe es etwas reduziert und ein Beispiel dafür entworfen, dies kann ich bei meiner Tab nun
entspr. einbauen ... Super !
Deine Schleife funkt noch nicht, kannst du mal draufschauen ( Filter C )
Lieben Dank Onur
https://www.herber.de/bbs/user/120625.xlsm
Muss ich anderst Dimmen ;-)
AW: Ok, schau mal hier, so klappt es schon ....
22.03.2018 22:15:39
onur
Läuft ja auch so, brauchst die Warteschleife gar nicht.
Ok, dennoch danke für deine Mithilfe ;-)
22.03.2018 22:18:34
udo
sehr freundlich, prima dass es jetzt läuft
Freut mich sehr
LG udo
AW: Ok, schau mal hier, so klappt es schon ....
22.03.2018 22:18:34
onur
Hätte aber auch gar nicht klappen können, da t single oder double sein muss.
Anzeige
das sagt mir leider nichts, damit hatte ich noch
22.03.2018 22:21:29
udo
keine Erfahrungen gemacht ...
Hättest du ein kurzes Bsp. zu solch einer Warteschleife ...
ich kenn nur folgende ...
Application.Wait (Now + TimeValue("00:00:0")) ' Sek. warten
Muss aber nicht sein, diese Lösung ist schon
22.03.2018 22:27:02
udo
oberperfekt ... Warteschleife wäre Luxus ;-)
Nur zum Verständnis, könnte man während die Warteschleife abläuft überhaupt den Filter irgendwie beeinflussen . bei Application.wait wäre dies ja so, solange kannst dann nichts anderes machen oder
AW: Muss aber nicht sein, diese Lösung ist schon
22.03.2018 22:28:05
onur
Genau, aber läuft ja alles auch so.
AW: das sagt mir leider nichts, damit hatte ich noch
22.03.2018 22:27:12
onur
Dein Makro würde alles blockieren, du könntest nix nebenher machen, da für x sec "Endlosschleife" - excel friert sozusagen ein.
Meiner speichert den akt. Wert von timer (timer wir jede sec. um 1 erhöht), und wartet, bis 10 sec vergangen sind und durch doevents kann excel weiterhin alles im hintergrund sowie events bearbeiten.
Anzeige
ok, verstehe, we gesagt bin so schon voll
22.03.2018 22:33:13
udo
zufrieden , Danke nochmals für deine Mithilfe ;-)
Schöne Grüße aus Stuttgart und Dir noch einen schönen Abend
LG udo
Abschließend Bsp. ( Autofilter aufklappen )
22.03.2018 22:56:17
udo
für all Diejenigen die das Thema irgendwann mal aufgreifen müssen,
hier der letzte Stand
https://www.herber.de/bbs/user/120626.xlsm
LG udo

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige