Re: ComboBox
24.06.2003 12:26:49
Florian
Hallo Sam,
ich glaube, ich hab zu schnell gesagt, dass du es richtig verstanden hast.
Ich habe eine Tabelle mit 4 Spalten, ein Userform mit 3 ComboBoxen.
Ich lese Combo1 automatisch ein über:
Private Sub UserForm_Initialize()
Dim col As New Collection
Dim irow As Integer
irow = 3
On Error Resume Next
Do Until IsEmpty(ActiveSheet.Cells(irow, 1))
col.Add ActiveSheet.Cells(irow, 1), ActiveSheet.Cells(irow, 1)
If Err = 0 Then
ComboBox1.AddItem ActiveSheet.Cells(irow, 1)
Else
Err.Clear
End If
irow = irow + 1
Loop
On Error GoTo 0
ComboBox1.ListIndex = 0
End Sub
danach wähle ich ein Item in ComboBox2 aus und möchte, dass hierauf in Combobox3 nur die, in Spalte C meiner Tabelle stehenden Werte, die die eigenschaften aus ComBo1 und 2 erfüllen, ohne doppelte Nennungen erscheinen.
Mein in der Zwischenzeit entstandender Code sieht s.u. aus,
nimmt auch keine doppelten mehr, aber dafür alle in Spalte C auftauchenden werte.?
Danke, dass Du überhaupt antwortest,
FlorianPrivate Sub ComboBox2_Change()
UserForm1.ComboBox3.Clear
Dim i As Integer
For i = 3 To 100
If UserForm1.ComboBox2.Text = ActiveSheet.Range("b" & i).Value Then
Dim col As New Collection
On Error Resume Next
Do Until IsEmpty(ActiveSheet.Cells(i, 3))
col.Add ActiveSheet.Cells(i, 3), ActiveSheet.Cells(i, 3)
If Err = 0 Then
ComboBox3.AddItem ActiveSheet.Cells(i, 3)
Else
Err.Clear
End If
i = i + 1
Loop
On Error GoTo 0
End If
Next i
End Sub