Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
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
Inhaltsverzeichnis

UserForm dynamische ComboBox

UserForm dynamische ComboBox
22.10.2019 09:18:12
Janson
Liebe Experten,
nun ist es passiert. Ich komme mit meinem Latein nicht weiter.
Zu meinem Problem: ich habe eine UserForm erstellt bei der unterschiedliche Auswahlkriterien getroffen werden und abhängig von diesen soll eine ComboBox gefüllt werden. Leider bleibt die Box leer.
Im Hintergrund liegt ein Entscheidungsbaum auf dem Registerblatt „Entscheidungsbaum“: in etwa so:
Kriterium_1 Kriterium_2 Kriterium_3
A 1 R
A 1 S
A 2 T
A 2 U
A 3 V
B 1 W
B 2 X
B 2 Y
B 3 Z
Kriterium 1 wird anhand von OptionButtons (OptinButton1, 2, 3) festgelegt, Kriterium 2 anhand von CheckBoxen (Checkbox1, Checkbox2). Kriterium 3 soll nun in einer ComboBox (ComboBox5) dargestellt werden.
Im Modul 1 habe ich globale Variablen definiert
Option Explicit
'Modulweite Variablen deklarieren
Global Const C_mstrDatenblatt As String = "Entscheidungsbaum"
Global mobjDic As Object
Global mlngLast As Long
Global mlngZ As Long
Global Kriterium_1 As String
Global Kriterium_2 As String
Kriterium 1 und Kriterium zwei werden auf unterschiedlichen Pages der UserForm festgelegt und im Registerblatt „DataEntry“ in den Zellen B7 (Kriterium 2) und B8 (Kriterium 1) abgelegt.
Nun soll meine ComboBox5 dynamisch anhand der Vorauswahl gefüllt werden. Anbei mein Code:
Private Sub ComboBox5_Enter()
'Combobox in Abhängigkeit von Kategorie und Empfänger
Set mobjDic = CreateObject("Scripting.Dictionary")
mlngLast = 50
Me.ComboBox5.Clear
With Worksheets(C_mstrDatenblatt)
For mlngZ = 2 To mlngLast
If .Cells(mlngZ, 2).Value = Kriterium_1 And .Cells(mlngZ, 3).Value = Kriterium_2 Then
mobjDic(.Cells(mlngZ, 4).Value) = 0
End If
Next
End With
Me.ComboBox5.List = mobjDic.keys
Set mobjDic = Nothing
End Sub

Warum bleibt die ComboBox leer? Kurioserweise hat es schon einmal funktioniert und dann plötzlich nicht mehr. Über Hilfe würde ich mich freuen.
VG
Janson

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm dynamische ComboBox
22.10.2019 12:30:00
Rudi
Hallo,
ich sehe nicht, dass Kriterium_1 und Kriterium_2 mit Werten belegt werden. Sind die evtl =""?
Gruß
Rudi
AW: UserForm dynamische ComboBox
22.10.2019 13:48:55
Janson
Hallo Rudi,
die Kriterien sind mit Werten belegt. Ich habe den Codeteil hier nur nicht mitgegeben. Die Variablen werden über den Klick von CommandButtons ein Wert zugewiesen.
Private Sub CommandButton2_Click()
If CheckBox1.Value = True And CheckBox2.Value = True Then
Sheets("DataEntry").Cells(8, 2).Value = "A"
Kriterium_1 = "A"
MultiPage1.Value = 3
ElseIf CheckBox1.Value = True And CheckBox2.Value = False Then
Sheets("DataEntry").Cells(8, 2).Value = "B"
Kriterium_1 = "B"
MultiPage1.Value = 3
ElseIf CheckBox1.Value = False And CheckBox2.Value = True Then
Sheets("DataEntry").Cells(8, 2).Value = "C"
Kriterium_1 = "C"
MultiPage1.Value = 3
Else
MsgBox "Bitte eine Option auswählen."
End If
End Sub

Anzeige
AW: UserForm dynamische ComboBox
22.10.2019 22:07:38
Rudi
Hallo,
das geht besser:
Private Sub CommandButton2_Click()
Dim vntRET
Dim arrOUT
arrOUT = Array("", "B", "C", "A")
vntRET = -(checkbox1 + 2 * checkbox2)
Select Case vntRET
Case 1 To 3
Sheets("DataEntry").Cells(8, 2).Value = arrOUT(vntRET)
Kriterium_1 = arrOUT(vntRET)
MultiPage1.Value = 3
Case Else
MsgBox "Bitte eine Option auswählen."
End Select
End Sub

Was ist mit Kriterium_2?
Geh den Code doch mal mit F8 durch.
Gruß
Rudi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige