Hallo allerseits 
Um im Endeffekt auf einem Excel-Sheet nur ganz bestimmte Spalten anzusprechen in die dann was geschrieben werden soll habe ich mir eine Userform entworfen.
Auf der rechten Seite habe ich 4 Comboboxen für die ersten 4 Spalten (A-D) die jeweils den Inhalt ohne doppelte Einträge ausgibt.
Auf der linken Seite befinden sich 20 Label und 20 Textboxen für die Spalten E-X.
Ziel ist nun über die Auswahl in den Comboboxen aus dem ListIndex eine eindeutige 4 stellige Zahl zu generieren hinter der sich jeweils eine ganz bestimmte Kombination aus den Spalten E-X verbirgt. Genau diese sollen dann auf der linken Seite zur Verfügung stehen, der Rest soll deaktiviert sein.
Mit dem nachfolgenden Code bin ich zumindest soweit, daß diese Zahlenkombination erzeugt wird, jedoch m.E. etwas umständlich bzw. unglücklich gelöst, da ich alle Comboboxen einzel abfrage.
Wie kann die umfassender gelöst werden bzw. der Change für alle Comboboxen überwacht werden?
Ich freue mich über jeden Tipp und Lösungshinweis der mir hilft dieses kleine Eingabetool zum Ende zu führen.
Grüße
Juwee

Um im Endeffekt auf einem Excel-Sheet nur ganz bestimmte Spalten anzusprechen in die dann was geschrieben werden soll habe ich mir eine Userform entworfen.
Auf der rechten Seite habe ich 4 Comboboxen für die ersten 4 Spalten (A-D) die jeweils den Inhalt ohne doppelte Einträge ausgibt.
Auf der linken Seite befinden sich 20 Label und 20 Textboxen für die Spalten E-X.
Ziel ist nun über die Auswahl in den Comboboxen aus dem ListIndex eine eindeutige 4 stellige Zahl zu generieren hinter der sich jeweils eine ganz bestimmte Kombination aus den Spalten E-X verbirgt. Genau diese sollen dann auf der linken Seite zur Verfügung stehen, der Rest soll deaktiviert sein.
Mit dem nachfolgenden Code bin ich zumindest soweit, daß diese Zahlenkombination erzeugt wird, jedoch m.E. etwas umständlich bzw. unglücklich gelöst, da ich alle Comboboxen einzel abfrage.
Wie kann die umfassender gelöst werden bzw. der Change für alle Comboboxen überwacht werden?
Code:
Private Sub UserForm_Initialize()
Dim objDic As Object
Dim lngZ As Long
Set objDic = CreateObject("Scripting.Dictionary")
For i = 1 To 4
For lngZ = 2 To Cells(Rows.Count, 1).End(xlUp).Row
objDic(Cells(lngZ, i).Value) = 0
Next
With Me.Controls("ComboBox" & i)
.List = objDic.keys
.ListIndex = 0
.SetFocus:
.SelStart = 0:
.SelLength = Len(.Text)
End With
objDic.RemoveAll
Next
End Sub
Private Sub ComboBox1_Change()
Controls("cbocon" & 1).Caption = Controls("Combobox" & 1).ListIndex
End Sub
Private Sub ComboBox2_Change()
Controls("cbocon" & 2).Caption = Controls("Combobox" & 2).ListIndex
End Sub
Private Sub ComboBox3_Change()
Controls("cbocon" & 3).Caption = Controls("Combobox" & 3).ListIndex
End Sub
Private Sub ComboBox4_Change()
Controls("cbocon" & 4).Caption = Controls("Combobox" & 4).ListIndex
End Sub
Ich freue mich über jeden Tipp und Lösungshinweis der mir hilft dieses kleine Eingabetool zum Ende zu führen.
Grüße
Juwee