Hacer visible/ocultar frame según el contenido del combobox.

En un formulario tengo un combobox y varios frames. Necesitaría primero ocultar todos los frames y hacer visible solo uno según la opción elegida en el combobox. Dejo imagen.

Ejemplo, si en mi combobox "motivo" yo elijo la opción A, entonces quiero que muestre el frame1, si elijo B el frame 2... Y asi sucesivamente... Y si no hay nada elegido entonces que no muestre nada!

Mil gracias!! =)

1 respuesta

Respuesta
4

H o l a:

Te anexo las macros:

En el evento activate de tu formulario pon lo siguiente:

Private Sub UserForm_Activate()
'Por.Dante Amor
    Frame1.Visible = False
    Frame2.Visible = False
    Frame3.Visible = False
    Frame4.Visible = False
    Frame5.Visible = False
End Sub

En el evento change de tu combobox pon lo siguiente:

Private Sub ComboBox1_Change()
'Por.Dante Amor
    Frame1.Visible = False
    Frame2.Visible = False
    Frame3.Visible = False
    Frame4.Visible = False
    Frame5.Visible = False
    Select Case ComboBox1
        Case "A": Frame1.Visible = True
        Case "B": Frame2.Visible = True
        Case "C": Frame3.Visible = True
        Case "D": Frame4.Visible = True
        Case "E": Frame5.Visible = True
    End Select
End Sub

Estoy suponiendo que en el combobox te aparecen los datos "A", "B", "C", "D" y "E", pero si tienes otro texto deberás cambiarlo en la macro.

La macro lo hice para 5 frame, son los que aparecen en tu imagen, pero si tienes más, deberás agregarlos al código.

Avísame si tienes dificultades para adaptar el código a tu formulario.

Genial!!! Otra consulta...me funciona perfecto pero...

con cada elección A, B o C... yo tengo que mostrar 2 frames!! y solo me muestra el primero.. lo escribí así:

Private Sub plancha_Change()
Select Case ABC

Case "A": Frame1.Visible = True
Case "A": Frame2.Visible = True
Case "B": Frame3.Visible = True
Case "B": Frame4.Visible = True
Case "C": Frame5.Visible = True

Case "C": Frame6.Visible = True
End Select
End Sub

Probé intenta poner and.. o algo así pero no funciona xD

Quedaría así:

Private Sub ComboBox1_Change()
'Por.Dante Amor
    Frame1.Visible = False
    Frame2.Visible = False
    Frame3.Visible = False
    Frame4.Visible = False
    Frame5.Visible = False
    Frame6.Visible = False
    Select Case ComboBox1
        Case "A"
            Frame1.Visible = True
            Frame2.Visible = True
        Case "B"
            Frame3.Visible = True
            Frame4.Visible = True
        Case "C"
            Frame5.Visible = True
            Frame6.Visible = True
    End Select
End Sub

 s a l u d  o s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas