Mehrere Werte in der INPUTBOX auswählen können


Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

josef24

Erfahrenes Mitglied
#1
Guten Tag. Komme mal wieder mit einem Problem wie man die Inputbox gestaltet wenn man mehrere bzw. von - bis Werte auswählen will.
Ich kenne es wenn ein Wert zur Auswahl steht, aber das flexible weiß ich nicht wie geht. Ich kopiere mal meinen bisherigen Kode hier rein und bitte wenn möglich um
ein entsprechendes Beispiel. Danke in voraus und Gruß Josef

Code:
 ...........
gruppe = Application.InputBox(Title:="Auswahl der betroffenen gruppe Jubilare", Prompt:="Geben Sie die altersangaben ein:", _
Default:="Hier eingeben", Type:=1)
bereich.AutoFilter Field:=9, Criteria1:=gruppe
bereich.Copy
 

Zvoni

Erfahrenes Mitglied
#3
Inputbox geht mWn nur mit einem Wert.
Korrekt. Es sei denn, man entscheidet sich für ein definiertes Trennzeichen, wonach man dann den eingebenen Text splitten/parsen kann.

EDIT: Nachtrag: In solchen Fällen ist es meistens sinnvoller, eine eigene "Input"-Form zu kreieren mit allen notwendigen Feldern.
Der Vorteil hiervon ist (auch wenn es "mehr" Arbeit ist): Man kann die einzugebenden Daten beschränken bzw. schon während der Eingabe validieren (Bsp. Nur Zahlen dürfen eingegeben werden).
Da du ja anscheinend einen Filter in Excel setzen willst, könntest du z.B. auf diese eigene Input-Form anstatt einer Textbox eine ComboBox in Listen-Modus anzeigen lassen, welche beim Aufruf der Form mit allen Spaltenüberschriften befüllt wird, aus welcher der User dann eine auswählt (keine Tippfehler wie bei Input-Box/Textbox)

EDIT2: Falls du jedoch unbedingt mit einer Input-Box arbeiten willst (und du willst ja ein "von/bis"), könntest du in deiner Input-Box eingeben "16-32" (sechszehn bis zweiundddreisig).
Den Result der Inputbox (in deinem Fall die Variable "gruppe") müsstest du dann splitten/parsen auf das "-"-Zeichen inklusive aller Sanity-Checks (ist links vom "-" kleiner als rechts vom "-", gibt es nur ein "-"-Zeichen usw.)
 
Zuletzt bearbeitet:

josef24

Erfahrenes Mitglied
#4
Danke für euer beider Antworten. Um meinen Umfang an Daten möglichst gering zu halten würde ich z. B. die 70, die 75, die 80 usw. auswählen wollen. Den Filter auf die gewählten Zahlen habe ich schon gesetzt. Könnte mich vielleicht jemand mit einem Codetext unterstützen? Gruß Josef
 

Zvoni

Erfahrenes Mitglied
#9
Hallo Josef,

anbei. In Modul5 die Sub ClickInput. Ich habe mal schnell die "gängigen" Fälle abgearbeitet.
Ist nicht sehr gut kommentiert, aber ich glaube du siehst was ich meine.
Ein Todo haste auf jeden Fall: Die Range dynamisch herausfinden und entsprechend einsetzen. Ist jetzt halt hardcoded.
Verwendung:
Der User kann eingeben: "17;18;50;71" usw. --> ist dann als ob man manuell filtert
Der User kann auch eingeben:
"50-71" --> Zeige alle die grösser/gleich 50 und kleiner/gleich 71 sind"
"50-" --> Zeige alle die grösser/Gleich 50 sind"
"-71" --> Zeige alle die kleiner/gleich 71 sind.
Hinweis: Mann kann nicht beide Varianten mischen: Also ein "17;50;60-80" geht nicht (zumindest hatte ich nicht die Zeit es herauszufinden ob es geht)
Ich hoffe, ich hab dein Problem damit richtig verstanden
 

Anhänge

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…