Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1212to1216
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
Abhängige Dropdowns in 2 Userforms
David
Hallo zusammen,
ich hoffe jemand kann mir bei meinem Problem weiterhelfen.
Ich habe eine Userform auf der eine Dropdown bzw. Combobox eine Auswahl an Daten zur Verfügung stellt.
Ich möchte gerne, dass man auf dieser Userform aus dieser Combobox einen bestimmten Datensatz auswählen kann und man dadurch auf der nächsten Userform und der dortigen Combobox nur noch bestimmte Dateien zur Auswahl stehen. D.h. man wählt einen Wert aus der 1. Combox auf der 1. Userform aus mit einem Klick auf einen "Weiter" -Button wird die 1. Userform versteckt und es erscheint die 2te Userform, wo dann die Combox mit der abhängigen Auswahl zur Verfügung stehen soll.
Doch wenn ich in meinem Code die Combobox auf der 2 Userform ansprechen will, funktioniert das nicht.
egal ob ich ihm sage Userform2.Combobox2.Clear oder Userform2.Combobox2. ListIndex = 0.
Hier mal der komplette Code:
Zur Erläuterung: Userform1 = usf_RichtpreisgenS1, Userform2 = usf_RichtpreisgenS2, Combobox1 = cobo_Produktbranche, Comobox2= cobo_hinterlegtebudegts
Private Sub cobo_Produktbranche_Change()
' geschrieben von P@ulchen, angepasst von Klaus-Dieter
Dim col As New Collection
Dim iRow As Long, ALetzte As Long
usf_RichtpreisgenS2.cobo_hinterlegtebudgets.Clear
ALetzte = IIf(IsEmpty(Sheets("Datenbank_hinterlegteBudgets").Range("E65536")), Sheets(" _
Datenbank_hinterlegteBudgets").Range("E65536").End(xlUp).Row, 65536)
On Error Resume Next
For iRow = 2 To ALetzte
If Not IsEmpty(Sheets("Datenbank_hinterlegteBudgets").Cells(iRow, 2)) Then
If Sheets("Datenbank_hinterlegteBudgets").Cells(iRow, 2) =  _
cobo_hinterlegtebudgets.  _
_
_
_
Value Then
col.Add Sheets("Datenbank_hinterlegteBudgets").Cells(iRow, 2), Sheets(" _
Datenbank_hinterlegteBudgets").Cells(iRow, 2)
usf_RichtpreisgensS2.cobo_hinterlegtebudgetsAddItem Sheets(" _
Datenbank_hinterlegteBudgets").Cells(iRow, 5)
End If
End If
Next iRow
On Error GoTo 0
Call Sortieren
usf_RichtpreisgenS2.cobo_hinterlegtebudgets.ListIndex = 0
End Sub

der Code befindet sich im Modul von Userform1
Ist Userform2 geöffnet? owT
23.05.2011 11:11:39
Rudi
AW: Ist Userform2 geöffnet? owT
23.05.2011 11:15:44
David
Hallo,
Userform2 wird es geöffnet, nachdem Userform 1 durch "weiter" klicken geschlossen wurde.
mit Userform1.Hide und Userform2.Show
AW: Ist Userform2 geöffnet? owT
23.05.2011 11:17:48
Rudi
Hallo,
du musst erst UF2 öffnen, die Daten eintragen und dann UF1 schließen.
Gruß
Rudi
AW: keine Daten in Combobox2
23.05.2011 11:28:50
David
Hallo Rudi,
irgendwie klappt es nicht,
es stehen einfach keine Daten in der Combobox2 auf Userform2.
Danke für deine Hilfe.
Gruß David
Abhängige Comboboxen in EINEM Userform
23.05.2011 11:34:35
NoNet
Hallo David,
hier mal ein Beispiel für abhängige ComboBoxen in EINEM Userform (ich hatte irgendwie überlesen, dass Du das für 2 UserForms suchst). Das Prinzip ist jedoch auch auf unterschiedliche Comboboxen in unterschiedlichen UserForms übertragbar :
https://www.herber.de/bbs/user/74968.xls
Gruß, NoNet
Anzeige
AW: NoNet
23.05.2011 12:52:31
David
Hallo NoNet,
habe versucht den Code aus dem Beispiel einzubauen. Jedoch verstehe ich nicht, wo im Code der Bezug auf die Daten gemacht wird? Also wo die Rowsource der combobox sein soll?
Kannst du mir da helfen ?
Nix Rowsource : Dynamisch befüllt
23.05.2011 14:21:11
NoNet
Hallo David,
im Code wird keine Rowsource verwendet (diese wäre ja fix und könnte nur ein zusammenhängender Bereich sein), sondern die Datenzeilen werden in einer Schleife über alle Zeilen - über eine temporäre COLLECTION, damit es keine doppelten Einträge in der ComboBox gibt - dynamisch in die Comboboxen befüllt.
Das 2.Makro des UserForms (Private Sub cmbort_Change()) wird jeweils bei Änderung des ausgewählten Ortes ausgeführt und befüllt die 2.Combobox mit den passenden Namen. Die Namen werden nur dann in die COLLECTION und danach in die ComboBox übertragen, wenn der Ort der Zeile dem ausgewählten Ort entspricht - siehe auch Kommentarzeile im Code :
'Name nur aufnehmen, wenn Ort dem ausgewählten Ort entspricht :
Das läuft also alles dynamisch und nicht per ROWSOURCE ab ! - Die ROWSOURCE-Eigenschaft Deiner Comboboxen solltest Du daher löschen !
Gruß, NoNet
Anzeige
AW: NoNet
23.05.2011 14:25:54
David
Hallo NoNet,
ich bin es nochmal. Danke für die Erklärung, dass das ganze dynamisch ist habe ich mittlerweile begriffen,
doch trotzdem will ich ihm nur ein bestimmtes Tabellenblatt für den Datenbezug zur Verfügung stellen.
Weil momentan, zieht er sich die Daten für die Combobox aus dem Tabellenblatt, wo gerade offen ist bzw. wo mit der maus hingeklickt wurde. Er soll sich die Daten aber immer aus Tabellenblatt5 ziehen.
Hoffe du verstehtst was ich meine und kannst mir helfen?
Gruß
David
Daten für UF aus vorgegebenem Sheet anzeigen
23.05.2011 16:07:19
NoNet
Hallo DAvid,
damit die Daten nicht aus dem AKTUELLEN, sondern aus einem fest vorgegebenem Tabellenblatt angezeigt werden, muss der Name des entsprechenden Blattes im Code verankert sein.
Hier ein erweitertes Beispiel : Der Name des gewünschten Blattes, das die Daten enthält wird in dieser Zeile angegeben :
Set wsDaten = Sheets("Sheet1")
https://www.herber.de/bbs/user/74972.xls
Gruß, NoNet
Anzeige
AW: Daten für UF aus vorgegebenem Sheet anzeigen
24.05.2011 09:33:37
David
Moin NoNet,
vielen Dank für dein klasse Beispiel.
Hat super geklappt.
Gruß
David
AW: Daten für UF aus vorgegebenem Sheet anzeigen
24.05.2011 10:09:57
David
Hallo NoNet,
ich habe mal noch eine zusätliche Frage.
Ich würde ganz gerne jetzt noch was zusätzlich wollen und fragen ob so etwas möglich ist. Ich habe es zwar schon mit einer IF Then Abfrage versucht doch leider hat es nicht so ganz geklappt.
Ich würde gerne, dass ich nun auf der Userform2, wo die abhängige Combox ist, jetzt auch noch ein von dieser Combobox abhängiges Imagefenster haben, wo Bilder angezeigt werden.
Also in der Combox stehen ja nun bestimmte Daten (bzw. sind es Maschinen) zu Verfügung, wählt man eine Maschine aus, so soll das entsprechende Bild der Maschine im Imagefenster angezeigt werden.
Die Bilder liegen im jpeg-Format in einem Tabellenblatt("Bilder") vor und haben auch Namen, also bspw. Maschine_XY_12.
Wie kann ich ihm jetzt sagen, dass er abhängig von der Combobox das jeweilige Bild aufzeigt? Irgendwo muss ich ja definieren welches Bild zur welcher Maschine gehört?
Danke für deine Hilfe.
Gruß
David
Anzeige
AW: Abhängige Dropdowns in 2 Userforms
23.05.2011 13:58:11
David
Hallo NoNet,
ich bin es nochmal. Mittlerweile habe ich den Code begriffen,
doch trotzdem will ich ihm nur ein bestimmtes Tabellenblatt für den Datenbezug zur Verfügung stellen.
Weil momentan, zieht er sich die Daten für die Combobox aus dem Tabellenblatt, wo gerade offen ist.
Hoffe du verstehtst was ich meine und kannst mir helfen?
Gruß
David

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige