Perdona las inconsistencias en mi código, te anexo como deben quedar los eventos chante de los combo 1 y 4
Nota: La declaración de la variable cargando, debe ir hasta el inicio de todo el código
Dim cargando
'
Private Sub ComboBox1_Change()
If cargando = True Then Exit Sub
'
cargando = True
ComboBox2 = 0
TextBox7 = 0
cargando = False
End Sub
'
Private Sub ComboBox4_Change()
If cargando = True Then Exit Sub
'
cargando = True
ComboBox1 = 0
TextBox5 = 0
TextBox8 = 0
ComboBox2 = 0
ComboBox5 = 0
cargando = False
End Sub
No entiendo muy bien qué requieres hacer con el botón, pero primero veamos el funcionamiento de los combos 1 y 4.
Cuando seleccionas un dato del combo 4:
- Se activa el evento change del combo 4
- Pregunta por la variable cargando, la variable se encuentra en false, por lo tanto, continúa.
- Inmediatamente después cambia el valor de la variable cargando a True
- Cambias el combo 1 = 0, entonces se activa el evento change del combo 1.
- Entonces nos vamos al evento change del combo 1,
- La primera línea del evento change del combo 1 es:
If cargando = True Then Exit Sub
Como en el evento Change del combo 4 cambiamos el valor de cargando = true, entonces se sale del evento change del combo 1, regresando el control al evento change del combo 4
- Entonces en el change del combo 4 continúa cambiando valores a los siguientes controles:
TextBox5 = 0
TextBox8 = 0
ComboBox2 = 0
ComboBox5 = 0
- Por último regresa el valor de la variable cargando = false
Prueba y me comentas. Después de probar la funcionalidad, revisamos lo que quieres hacer con el botón.