1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| Dim f, a()
Private Sub UserForm_Initialize()
Set f = Sheets("BD")
For i = 1 To 4: Me("label" & i) = f.Cells(1, i): Next i
Set mondico = CreateObject("Scripting.Dictionary")
a = f.Range("A2:E" & f.[A65000].End(xlUp).Row).Value
For i = LBound(a, 1) To UBound(a, 1)
mondico(a(i, 1)) = ""
Next i
Me.ComboBox1.List = mondico.keys
End Sub
Private Sub ComboBox1_click()
Me.ComboBox2.Clear
Me.ComboBox3.Clear
Me.ComboBox4.Clear
Set mondico = CreateObject("Scripting.Dictionary")
For i = LBound(a, 1) To UBound(a, 1)
If a(i, 1) = Me.ComboBox1 Then mondico(a(i, 2)) = ""
Next i
Me.ComboBox2.List = mondico.keys
End Sub
Private Sub ComboBox2_click()
Me.ComboBox3.Clear
Me.ComboBox4.Clear
Set mondico = CreateObject("Scripting.Dictionary")
For i = LBound(a, 1) To UBound(a, 1)
If a(i, 1) = Me.ComboBox1 And a(i, 2) = Me.ComboBox2 Then mondico(a(i, 3)) = ""
Next i
Me.ComboBox3.List = mondico.keys
End Sub
Private Sub ComboBox3_click()
Me.ComboBox4.Clear
Set mondico = CreateObject("Scripting.Dictionary")
For i = LBound(a, 1) To UBound(a, 1)
If a(i, 1) = Me.ComboBox1 And a(i, 2) = Me.ComboBox2 And a(i, 3) = Me.ComboBox3 Then mondico(a(i, 4)) = ""
Next i
Me.ComboBox4.List = mondico.keys
End Sub
Private Sub ComboBox4_click()
'Me.TextBox1 = Me.ComboBox4
For i = LBound(a, 1) To UBound(a, 1)
If a(i, 1) = Me.ComboBox1 And a(i, 2) = Me.ComboBox2 And a(i, 3) = Me.ComboBox3 _
And a(i, 4) = Me.ComboBox4 Then Me.TextBox1 = a(i, 5)
Next i
End Sub |