Necesito que un valor de una lista desplegable me lleve a una hoja del libro

Tengo una macro vba que hace que me guarde la información pero necesito que después de esa guardar evalúe un dato de una lista desplegable y si es "x" me lleve a una hoja o si es "Y" me lleve a otra hoja

2 Respuestas

Respuesta

Prueba la macro

Sub macro1()
    dato = ComboBox1.Text
        Select Case dato
        Case "x": Sheets("Hoja1").Select
        Case "y": Sheets("Hoja2").Select
        End Select
End Sub

Hola, la ingresé como un módulo pero no funciona , me sale error de sintaxis y me resalta la línea de case. 

Otra inquietud; este código como haría para llamarlo y que se ejecute desde la macro grande? Call (nombre) ? Gracias

La macro tienes que adecuarlo en tu formulario y también tienes que cambiar el nombre de tu cuadro de lista puse como referencia combobox1.

Respuesta
1

Puedes responder lo siguiente:

"Evalúe un dato de una lista desplegable"

¿Cómo creaste la lista desplegable? ¿Es una validación de datos? ¿O un combobox y de qué tipo?

"Como haría para llamarlo y que se ejecute desde la macro grande"

Si ya tienes una macro, puedes pegarla aquí.

"Si es "x" me lleve a una hoja o si es "Y" me lleve a otra hoja"

¿Cómo se llaman tus hojas?

Hola

La lista desplegable la genere a través de una validación de datos; tengo los siguientes datos jefatura y auxiliar; entonces necesito que cuando el usuario escoja jefatura me lleve después a la ventas y cuando escoja auxiliar me lleve a inventario.

No pusiste la "macro grande". Ayuda a ayudarte. No conocemos tu hoja ni cómo están tus datos. Para ti parece obvio porque lo estás observando.

Si es una lista de validación, entonces vamos a suponer que la lista de validación la tienes en la ceda B2.

Pon el siguiente código en los eventos donde tienes la lista de validación.

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address(0, 0) = "B2" Then
    If Target.CountLarge > 1 Then Exit Sub
    Select Case LCase(Target.Value)
      Case LCase("jefatura"): Sheets("ventas").Select
      Case LCase("auxiliar"): Sheets("inventario").Select
    End Select
  End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro

Actualiza en el código la celda B2 y los nombres de los datos y las hojas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas