Mostrar u ocultar hojas según valor de celda

Si en la primer hoja de un excel donde cargo algunos datos le doy a una celda 3 opciones (a través de una validación de datos con lista) y según lo elegido me muestre u oculte determinadas hojas.

El nombre de esa celda con opciones es "metodo" y por lo que estuve viendo seria algo así:

         If Range("metodo") = "Poole" Then
            Worksheets("Poole").Visible = True
            Worksheets("Calculo por tabla 3").Visible = False
            Worksheets("Calculo por tabla 2").Visible = False
         Else
            Worksheets("Poole").Visible = False
            Worksheets("Calculo por tabla 3").Visible = False
            Worksheets("Calculo por tabla 2").Visible = False
         End If

Esa seria una de las opciones, para hacerlo mas corto las otras serian si dice "Calculo por tabla 3" que se vea la hoja que se llama así y lo mismo con tabla 2.

Luego si no dice nada en esa celda que las 3 hojas se mantengan ocultas.

Lo que no tengo idea es si con eso que escribí se puede llegar a algún lado, lo hice de caradura googleando un poco, la verdad que no se nada de macros.

1 Respuesta

Respuesta
1

Te dejo la macro completada. Se coloca en el Editor, en el objeto HOJA donde tengas tu desplegable. Ajustá en la macro la ubicación de esa celda con desplegable que en mi ejemplo es E5.

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'se controla cambios en celda con desplegagle >>> AJUSTAR referencia
If Target.Address = "$E$5" Then
    If Target.Text = "Poole" Then
        Worksheets("Poole").Visible = True
        Worksheets("Calculo por tabla 3").Visible = False
        Worksheets("Calculo por tabla 2").Visible = False
    ElseIf Target.Text = "Calculo por tabla 2" Then
        Worksheets("Poole").Visible = False
        Worksheets("Calculo por tabla 3").Visible = False
        Worksheets("Calculo por tabla 2").Visible = True
    ElseIf Target.Text = "Calculo por tabla 3" Then
        Worksheets("Poole").Visible = False
        Worksheets("Calculo por tabla 3").Visible = True
        Worksheets("Calculo por tabla 2").Visible = False
    Else
        Worksheets("Poole").Visible = False
        Worksheets("Calculo por tabla 3").Visible = False
        Worksheets("Calculo por tabla 2").Visible = False
    End If
End If
End Sub

No habiendo tantas opciones dejé el bucle If...ElseIf...End If.

Pero esto también se puede realizar con un bucle Select Case.... End Select. Más datos sobre distintos tipos de bucles los podés encontrar en video 19 de mi canal.

Y también en el manual de Bucles.

Sdos y no olvides valorar la respuesta.

Elsa

¡Gracias! Funciona perfecto! Perdón la demora, el día que quería agradecerte funcionaba mal la página de todo expertos y me daba error cada vez que quería votar. Luego se me olvido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas