Acceso directo a hojas excel ocultas

Quisiera saber si alguien me puede orientar como poner accesos directos a hojas dentro de un mismo libro pero que están ocultas

Si no las muestro no puedo crear el acceso directo

Como son muchas cada vez que creo una, tengo una macro para que la oculte

Después en la hoja inicial tengo todos nos nombre de la hojas en celdas

2 Respuestas

Respuesta
5

Estoy leyendo que necesitas '....como poner accesos directos a hojas que estan ocultas....'

Entonces lo ideal sería que tengas una macro en el evento de creación de hojas (Workbook_NewSheet). Esto te permitirá crear el vínculo y luego ocultarla.

El siguiente código se colocará en el objeto ThisWorkbook (libro):

Private Sub Workbook_NewSheet(ByVal Sh As Object)
'al crear la hoja asignar el vínculo y ocultarla
'en este ejemplo se solicita el nombre para la nueva hoja
nbre = InputBox("Ingresa el nombre de la nueva hoja")
If nbre = "" Then Exit Sub
'se asigna el nombre a la nueva hoja
ActiveSheet.Name = nbre
'se establece el vínculo desde la hoja de inicio
With Sheets("Inicial")
    x = .Range("A" & Rows.Count).End(xlUp).Row + 1
    .Range("A" & x).FormulaR1C1 = nbre
    .Hyperlinks.Add Anchor:=.Range("A" & x), Address:="", SubAddress:= _
        nbre & "!B2", ScreenTip:="ir a la hoja", TextToDisplay:=nbre
End With
'se oculta la nueva hoja
Sheets(nbre).Visible = xlVeryHidden
End Sub

Las primeras instrucciones son para establecer cuál será el nombre para la nueva hoja (eso quizás lo tengas ya resuelto)

Luego se coloca el vínculo en la hoja Inicial. Estoy considerando que tendrás una col con esos vínculos, similar a mi imagen.

Y recién entonces se oculta la hoja creada.

PD) En los videos 45 al 48 de mi canal desarrollé los principales eventos de hojas y libro. Te invito a visitarlo.

Respuesta
4

[Tienes pendiente valorar estas respuestas:

Buscar texto dentro de un rango de celdas

Buscar texto dentro de un rango


No sé exactamente a qué te refieres con "acceso directo", pero si te refieres a un hipervínculo para ir a la hoja, entonces debes hacerlo desde una macro, la secuencia sería así:

- Hacer visible la hoja

- Seleccionar la hoja

- Seleccionar la celda de la hoja

- Después cuando regreses a la hoja "principal" ocultas nuevamente la hoja.


Realiza lo siguiente con cada hipervículo:

- Por ejemplo si en la celda B2 tienes el hipervínculo a la hoja "Calle Cisneros", entonces realiza el hipervículo a la misma hoja "DATOS" y a la celda que quieras seleccionar.

En el ejemplo anterior, el hipervículo va a la misma hoja "DATOS", celda F1.

- Pon la siguiente macro en lo eventos de la hoja "DATOS":

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'Por Dante Amor
  Dim sCelda As String, sHoja As String
  sCelda = Split(Target.SubAddress, "!")(1)
  sHoja = Target.Range.Value
  'Hace visible la hoja
  Sheets(sHoja).Visible = True
  'Selecciona la hoja
  Sheets(sHoja).Select
  'Seleccona la celda
  Sheets(sHoja).Range(sCelda).Activate
End Sub

Para volver a ocultar la hoja, pon el siguiente código en los eventos de ThisWorkbook:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'Por Dante Amor
  Dim xsh As Worksheet
  If LCase(Sh.Name) = LCase("DATOS") Then
    For Each xsh In Sheets
      If LCase(xsh.Name) <> LCase("DATOS") Then
        xsh.Visible = False
      End If
    Next
  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. Del lado derecho copia la macro

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. Del lado derecho copia la macro

[No olvides valorar las respuestas...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas