Combobox dependientes en formularios bva excel

Tengo el siguiente error pero me aparece un error a la hora de guardar el formulario, alguien me puede ayudar en saber porque me ocasiona dicho error)

Private Sub estado_Change()
indice = estado.ListIndex + 1
Cells(2, indice).Select ------- AQUI ME MANDA EL ERROR PARA CORREGIR

Do While ActiveCell.Value <> ""
municipio.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Loop

Me.clavecliente = estado & noregistros

End Sub
Private Sub UserForm_initialize()
Hoja7.Select
range("A1").Select

Do While ActiveCell.Value <> ""
estado.AddItem ActiveCell
ActiveCell.Offset(0, 1).Select
Loop
noregistros.Text = Hoja2.range("I1")
End Sub

1 respuesta

Respuesta
1

H o l a:

Ya puse tu macro y puedo ejecutarla y guardar el formulario y no tengo problemas.

Pero si te aparece este mensaje:

Eso es por que no estás seleccionando un registro en el combo "estado", entonces el listindex se queda con -1, tu instrucción dice:

indice = estado.ListIndex + 1

Pero como listindex = -1 +1, entonces es 0 (cero)

indice = 0

Luego quieres seleccionar la celda 

Cells(2, 0).Select

Esa celda no existe, por lo tanto te envía error.


Para corregir el error puedes poner lo siguiente:

Private Sub estado_Change()
    If estado.ListIndex > -1 Then
        indice = estado.ListIndex + 1
        Cells(2, indice).Select '------- AQUI ME MANDA EL ERROR PARA CORREGIR
        municipio.Clear
        Do While ActiveCell.Value <> ""
            municipio.AddItem ActiveCell
            ActiveCell.Offset(1, 0).Select
        Loop
        Me.clavecliente = estado & noregistros
    End If
End Sub

Si el problema se resolvió, recuerda valorar la respuesta.

Si continúa el problema, entonces envíame el mensaje de error que te aparece.

S a l u d o s . D a n t e   A m o r.

Así es, guarda sin problemas, pensé en solucionarlo con un mensaje on error goto = error 1004, lo voy a hacer quizás funcione. Gracias por el comentario!, o si tienes algún comentario que me ayude a solucionar el problema igualmente lo agradecería. Saludos!

H o l a;

No es una buena práctica utilizar On Error goto. Por eso la instrucción que te estoy poniendo revisar si existen datos en el combo. Con esa instrucción ya no tienes el error.

S a l u d o s . D a n t e   A m o r. Recuerda valorar la respuesta.

Realice los cambios pero me aparece el error 1004 en tiempo de ejecución, error en el método select de objeto de hoja de trabajo.

si era un rerror colocar el erro goto...

¿En qué línea se detiene la macro?

¿Tienes la hoja protegida o la tienes oculta?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas