Saltar al contenido

Casi funciona,

publicado

Hola a tod@s.

Tengo el siguiente código.

 

Sub Auto_Open()
OcultarHojas
End Sub


Sub OcultarHojas()
    Dim Ws As Worksheet
    For Each Ws In ThisWorkbook.Worksheets
        If Ws.Name <> ActiveSheet.Name Then Ws.Visible = xlSheetHidden
    Next Ws
End Sub

 

Funciona bien, abre en la última hoja activa.

Pero...... los vínculos de esta a las otras (50) no funcionan,

¿ Que le falta al código ?

Salu2

Featured Replies

publicado

Buenas, si una hoja esta oculta no esta accesible

para acceder , primero tienes que hacerla visible.

saludos

 

publicado
  • Autor

Hola.

Ya sabía.

Pero tiene que haber forma de que los vínculos a hojas ocultas FUNCIONEN.

Habría que saber como.

Salu2

 

publicado

Buenos días, con vínculos que yo sepa no se puede hacer , tendrás que utilizar macros ,

por ejemplo captura la celda donde te posicionas y una vez en ella manda hacer visible la hoja y selecciónala, luego en el evento Deactivate de la hoja activa, haz que sea otra vez oculta cuando la dejes.

Te paso ejemplo

Saludos

 

irPaginaOculta.xlsm

publicado

Prueba con esta macro en la hoja, si no te funciona, sube tu archivo y pon un ejemplo concreto de lo que quieres.

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim Link As Variant, Hoja As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Link = Split(Target.SubAddress, "!")
For Each Hoja In Sheets
   If Hoja.Name = Sheets(Link(0)).Name Then
      Hoja.Visible = True
      Hoja.Select
      If UBound(Link) > 0 Then Hoja.Range(Link(1)).Select
      Exit Sub
   End If
Next
End Sub

 

publicado
  • Autor

Hola Antoni.

Casi, casi perfecto.

¿El código en cada una de las hojas, en ThisWokbook, en módulo?

He probado y si, va a la hoja pedida. Pero la añade a la lista y no oculta la anterior. Las va acumulando.

Ir a otra hoja y ocultar la actual.  ¿Sería posible?

Muchas gracias por todo.

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.