Abhängige DropDown | Excel VBA
ฝัง
- เผยแพร่เมื่อ 31 ก.ค. 2024
- Unsere ComboBox/Kombinationsfeld können wir abhängig zur Auswahl einer anderen ComboBox mit Daten aus unserem Tabellenblatt füllen.
Dazu erstellen wir eine ComboBox in einer UserForm und füllen sie mit dem Bereich einer intelligenten Tabelle. Unsere zweite ComboBox wird erst auswählbar und befüllt, sobald eine Auswahl in der ersten ComboBox getroffen wurde. Dann nämlich füllen wir ComboBox zwei mit der AddItem Methode in Abhängigkeit von der Auswahl der ComboBox eins. Sobald wir eine andere Auswahl in ComboBox eins treffen, müssen wir die ComboBox zwei zurücksetzen, was wir mit der Clear Methode machen. So erhalten wir abhängige Kombinationsfelder, die sich je nach Auswahl dynamisch füllen.
Kostenloser VBA-Einstiegskurs: vbatrainer.mykajabi.com/offer...
VBA-Coaching: www.vbatrainer.de/
________
LINKS
► ComboBox befüllen - • ComboBox füllen aus Ta...
► ComboBox ohne Duplikate - • ComboBox ohne Duplikat...
________
Timestamps
0:00 Ziel des Videos
0:25 Intelligente Tabelle erstellen
1:05 Design Userform
5:16 Combobox mit Bereich füllen
7:05 Combobox abhängig füllen
13:08 Combobox zurücksetzen
Wie immer sehr verständlich erklärt. Kannst du mal ein Video über den allgemeinen aufbau eines größeren VBA Projekt machen…..z.b. wann benötige ich mehrere Module, was kommt in welches Modul, wie benennen ich Variablen, wann machen braucht man z.b. Globale Variablen oder Static Variablen
Danke für die Videos
Wieder einfach ein klasse Video 👍 Würde mich sehr freuen wenn du ein Video über Rechteverwaltung (Login/ Benutzergruppen/ etc.) sowie über gleichzeitiges Nutzen vor allem in älteren Excel Versionen zB 2010 / 2013 eines Tools machen könntest. Freue mich auf weitere Videos :)
Hey pplolq3!
Danke für dein Feedback und den Videovorschlag.
Ich nehme diesen gerne in die Ideensammlung mit auf.
Lg, Kai
hallo, wie kriege ich es hin, das Combobox 1 aus Tabelle 1 die Daten herkommt und Combobox2 aus Tabelle2 kommen aber dennoch abhängig von einander sind?
👍👍👍
Hey Herzbert!
Danke für dein Kommentar!
Lg, Kai
Wenn ich jetzt schon befüllte enablete Comboboxen habe, möchte ich auf eine Combobox klicken und die dazu passende Zeile in den anderen Comboboxen angezeigt bekommen
Supi
Hey Valentin!
Danke für dein Kommentar!
Lg, Kai
Hallo und voran vielen Dank für deine zahlreichen Clips.
Ich bin sicher, es ist möglich, eine abhängige DropDown mit mehreren Kriterien zu erstellen, aber leider bekomme ich das nicht hin.
Angenommen, ich suche einen ALDI in Köln. Ich würde als erstes den Namen, also Aldi eingeben, gefolgt von dem Ort und letztendlich die Straße, aber wie ich ein drittes oder viertes Dropdown hinbekomme, weiß ich leider nicht.
Hast du einen Tipp für mich?
Ciao
Hallo, gerne :) Du musst den Filter erweitern, um die Werte aus den anderen Filtern. Vielleicht hilft dir dazu auch mein Filter-Video weiter: th-cam.com/video/QtLP5tBKGb0/w-d-xo.html&ab_channel=KaiWeissmann
LG Kai
Hallo Kai,
ich habe Probleme mit dem Anfordern der Excel Vorlagen. Habe bereits mehrere E-Mail Adressen ausprobiert und den Spam Ordner gecheckt, gibt es da noch eine andere Variante?
Hey ICE_SHAKED!
Schreibe mir dazu gerne eine Mail.
Oder Besuche www.vbatrainer.de unter Kontaktformular.
Dann kann ich das nachprüfen.
Lg, Kai
Hallo Kai,
super Videos. Ich bin auch auf deiner eigenen Plattform unterwegs und habe schon einiges lernen können.
Könntest du uns verraten wie die Dropdowns auch mit Zahlen funktionieren? Mit Texten funktioniert alles einwandfrei. Danke vorab!
Erstmal: super Video. Hat gut geholfen.
Aber dennoch eine Frage:
Wie könnte ich nach Auswahl im ersten Dropdown-Menü als Möglichkeiten fürs 2. nicht eine ganze Zeile sondern eine Spalte nehmen?
Lg
Hey Florian!
Danke für dein Feedback und die Frage.
Sofern ich es richtig verstanden habe müsstest du eine Variable für die Spalten und nicht für die Zeile dimensionieren und dann eben die Schleife über die Spalten machen. Und dann die entsprechende Spalte in die Combobox einlesen.
Lg, Kai
Hallo. Funktioniert super! Wenn ich die erste Box allerdings nicht mit Namen sondern mit Zahlen habe, wird mir in der zweiten ComboBox nichts angezeigt. Es funktioniert nur mit Buchstaben. Wie oder was muss man da ändern, damit das auch mit Zahlen klappt? Grüße, Sascha
Hi, konntest du das Problem lösen?
hoi kai
super Video and die Erklärungen sind 1A. Meine cb bezieht sich auf eine cb ohne dulikate, nn bekomme ich eine fehlermeldung " Set tbl = shVerweise.ListObjects("tabSelektion")" was mach ich falsch?
Hi Kai, könnte man das nun einfach so fortführen für bspw. eine 3 Variable? DANKE DIR für deinen tollen Support
und wo füge ich die Codes dann an? einfach darunter? :-)
Hey Thorsten!
Du meinst eine 3. ComboBox, die sich anhand der Auswahl der 2. ComboBox befüllt?
Dann musst du für die 2. ComboBox ebenfalls den entpsrechenden Code im "Change-Event" eintragen und die 3. ComboBox ähnliche der 2. ComboBox mit der Additem Methode hinzufügen.
Hoffe das hilft dir.
Lg, Kai
Hi Kai can man den kode runterladen ? un who ?
beste grusse
Hey Pierre!
Dieser Code steht nicht als Download-Datei zur Verfügung.
Lg, Kai
Hallo Kai, sehr schön erklärt, danke hierfür.
Ich konnte mein Problem aber nicht lösen, denn ich suche einen Weg in dem ich einen Namen in der Combobox auswähle und dann in einem Textfeld der Ausbildungsberuf und in einem weitern Textfeld die Schulklasse aus einer Tabelle eingetragen wird.
Vielleicht hast Du ja hierzu schon ein Video gemacht, oder Du kannst mir einen Tipp geben.
Dankeschön und sonnige Tage wünsche ich.
Gruß Dieter
Servus Kai, kannst du das video integrieren mit deiner abhängigen combobox. Ich hätte eine combobox bei deren auswahl in 4 weitere comboboxen dann die werte stehen sollen ohne duplikat. Lg thomas
Hallo Thomas, ich weiß nicht genau, auf was du anspielst. Das Video zeigt dir, wie du abhängige ComboBoxen erstellst. Das kannst du auch für mehrere ComboBoxen machen. LG Kai
@@KaiWeissmann dannke Kai, habe mit dieser variante ein bisschen herum experimentiert und jetzt habe ich das was ich wollte aufgrund von der auswahl des lieferanten passen sich jetzt 3 weitere Comboboxen an die lieferungen des lieferanten an😇
Hallo Kai, deine video sind super. Ich suche eine möglichkeit, 4 Combox anhäng von einander mit hinhalten von 4 verschiedenen Tabellenblätter zubefüllen., Combobox 3 Ereignisse, Combobox 4 Event, Combobox 5 Einsatzkommando und Combobox 6 Einsatz_Missionen, schaffe es bisher nur ComboBox 4 von 3 zubefüllen. Kannst du mir evtl helfen? gruß
kann ich das auch umgedreht machen?
Ich versuche, mich verständlich auszudrücken 😉:
Ich habe die CB1 mit "Essen, Trinken etc", die CB2 mit "Wasser, Cola etc." abhängig von CB1
-->"Trinken". Die Auswahl zuerst CB1 "Trinken" ergibt in CB2 auch die richtige Auswahl-Liste.
Gibt es die Möglichkeit,, zuerst in der CB2 "Wasser" einzutragen (oder auszuwählen) und es wird dann Automatisch in der CB1 "Trinken" ausgegeben?
Sofern ich es richtig verstanden habe, willst du in CB2 eine Auwahl treffen, auf die nur 1 Wert in CB1 zutrifft und diesen automatisch in CB1 ausgeben lassen.
Du musst also die Befüllung des Dictionary im Initialize Event für die CB2 durchführen.
Danach befüllst du im Sub CB2_Change die CB1 mit dem zugehörigen Wert (analog des bestehenden Codes)
Um den Wert direkt in der CB1 anzeigen zu lassen fügst du am Ende noch CB1.Value = CB1.List(0) hinzu.
So wird das Item mit dem Index 0 (= das erste Element) direkt in der CB1 anzgeigt.
Ich hoffe das hilft dir weiter.
Viel Erfolg bei deinem Projekt.
@@KaiWeissmann
danke für die schnelle Antwort.
Ist es auch möglich, daß beide Varianten möglich sind?
damit meine ich, daß ich eben wahlweise eine der beiden CBs nutze.
Also entweder ich wähle in CB1 "Trinken" aus und ich kann unter "Wasser, Cola, etc. wählen.
ODER
ich schreibe "Cola" in CB2 und es wird automatisch in CB1 "Trinken" ausgewählt
geht das?