Combobox dependientes uno del otro
Estimado Señor Gonzalez.
Mi pregunta es la siguiente, tengo un formulario en excel, el cual tiene tres combobox.
Al momento de elegir un dato en el combobox1, se activa automáticamente el combobox2, después de activar combobox2, se activa el combobox3, hasta ahí todo funciona normal.
El problema es que después de haber elegido distintos datos de los combobox, estos no se limpian, sino que van acumulando toda la información buscada anteriormente.
Favor ayúdeme indicándome donde debo modificar el código, le adjunto copia de mi código.
Agradezco de antemano vuestro apoyo.
Atentamente. Jose
Private Sub ComboBox2_Change()
UserForm2.ComboBox3.Enabled = True
Dim c As Range
X = 0
For Each c In Range("opt1")
If c = UserForm2.ComboBox2.Value Then
If X <> Range("B" & LTrim(Str(c.Row))) Then
X = Range("B" & LTrim(Str(c.Row)))
UserForm2.ComboBox3.AddItem X
End If
End If
Next c
End Sub
Private Sub ComboBox3_Change()
UserForm2.ComboBox4.Enabled = True
Dim c As Range
X = 0
For Each c In Range("opt2")
If c = UserForm2.ComboBox3.Value Then
If X <> Range("C" & LTrim(Str(c.Row))) Then
X = Range("C" & LTrim(Str(c.Row)))
UserForm2.ComboBox4.AddItem X
End If
End If
Next c
End Sub
Private Sub UserForm_Initialize()
Dim c As Range
X = 0
For Each c In Range("opt1")
If X <> c Then
X = c
UserForm2.ComboBox2.AddItem c
End If
Next c
UserForm2.ComboBox3.Enabled = False
UserForm2.ComboBox4.Enabled = False
Mi pregunta es la siguiente, tengo un formulario en excel, el cual tiene tres combobox.
Al momento de elegir un dato en el combobox1, se activa automáticamente el combobox2, después de activar combobox2, se activa el combobox3, hasta ahí todo funciona normal.
El problema es que después de haber elegido distintos datos de los combobox, estos no se limpian, sino que van acumulando toda la información buscada anteriormente.
Favor ayúdeme indicándome donde debo modificar el código, le adjunto copia de mi código.
Agradezco de antemano vuestro apoyo.
Atentamente. Jose
Private Sub ComboBox2_Change()
UserForm2.ComboBox3.Enabled = True
Dim c As Range
X = 0
For Each c In Range("opt1")
If c = UserForm2.ComboBox2.Value Then
If X <> Range("B" & LTrim(Str(c.Row))) Then
X = Range("B" & LTrim(Str(c.Row)))
UserForm2.ComboBox3.AddItem X
End If
End If
Next c
End Sub
Private Sub ComboBox3_Change()
UserForm2.ComboBox4.Enabled = True
Dim c As Range
X = 0
For Each c In Range("opt2")
If c = UserForm2.ComboBox3.Value Then
If X <> Range("C" & LTrim(Str(c.Row))) Then
X = Range("C" & LTrim(Str(c.Row)))
UserForm2.ComboBox4.AddItem X
End If
End If
Next c
End Sub
Private Sub UserForm_Initialize()
Dim c As Range
X = 0
For Each c In Range("opt1")
If X <> c Then
X = c
UserForm2.ComboBox2.AddItem c
End If
Next c
UserForm2.ComboBox3.Enabled = False
UserForm2.ComboBox4.Enabled = False
1 Respuesta
Respuesta de Juan Carlos González Chavarría