Ocultar o mostrar hojas según esté activa o no

Tengo un libro Excel con ... Pongamos 5 hojas, de las cuales 2 están normalmente ocultas (llamémoslas A y B)

En las otras hojas tengo un hipervínculo que me muestra cualquiera de las dos una vez que clickeo en él, eso sin problemas.

Lo que yo quisiera es... ¿de qué manera podría hacer para que una vez mostrada la hoja oculta (puesto que he hecho click en el hipervínculo), cuando vuelva a la hoja que contenía el hipervínculo, la hoja mostrada vuelva a ocultarse automáticamente?, puesto que ya no está activa.

1 respuesta

Respuesta
1

Pon la siguiente macro en los eventos de tu libro

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
'Por Dante Amor
    'Ocultar las hojas que se desactivan
    nombre = Sh.Name
    Select Case nombre
        Case "A", "B"
            If Sh.Visible = -1 Then
                Sh.Visible = 0
            End If
    End Select
End Sub

Instrucciones para poner la macro en los eventos ThisWorkbook

  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 ThisWorkbook
  4. En el panel del lado derecho copia la macro

'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

No funciona Dante. No sé si me has entendido. En una hoja tengo un hipervínculo al que llamo "2014" que cuando hago click en él me muestra una hoja con los datos de ese año ("Datos_2014"). Lo que yo quiero es que cuando vuelva atrás (a la hoja que contiene el hipervínculo) la hoja visualizada antes con todos los datos ("Datos_2014") vuelva a ocultárseme. Espero haber sido más claro antes. Gracias

¿Pusiste la macro en los eventos de tu workbook?

¿Cambiaste en esta línea "A" y "B" por los nombres de tus hojas?

Case "A", "B"

Eso exactamente hace la macro, cuando te sales de la hoja "A" o "B", se ocultan en automático.

Hola Dante, gracias por tu aporte. He seguido tus indicaciones y me funciona, a medias, me explico: he puesto el código tal y como me has dicho, cuando hago click en el hipervínculo (2014) de la hoja principal, efectivamente me abre la hoja de datos correspondiente al año en cuestión y cuando vuelvo a la hoja principal, la hoja de datos vuelve a quedar oculta. Pero, si en la hoja principal vuelvo a clickear en el hipervínculo ya no se me abre la hoja de datos. Es decir, me funciona para una vez. ¿Hay que poner algo más en el código para que funcione para todas las veces que haga click en el hipervínculo?. Gracias.

Esto es lo que pediste:

Y cuando vuelvo a la hoja principal, la hoja de datos vuelve a quedar oculta

Y eso es lo que hace mi macro. Entonces tu petición fue atendida al 100%


Esta parte:

Pero, si en la hoja principal vuelvo a clickear en el hipervínculo ya no se me abre la hoja de datos.

Lo de presionar click en el hipervínculo, no lo desarrollé yo. Es un procedimiento o macro que tú tienes.

Para corregirlo, puedes mostrar cómo tienes ese "hipervínculo".

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas