Por favor, necesito ayuda con la función hipervínculo

23/10/2007 - 00:17 por Sergio | Informe spam
Tengo un archivo con muchas hojas.
En una consulta en el foro vi que se puede hacer un listado con el nombre de
cada una de las hojas y hacer un hipervínculo para llegar directamente a la
hoja necesaria.
Tengo las hojas y tengo una de ellas (la primera) con el listado de todas
las hojas del archivo.
Necesito ayuda con la función, no se cómo usarla, lo he intentado pero no me
resulta.
Gracias, a quién pueda ayudarme.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
23/10/2007 - 00:47 | Informe spam
hola, Sergio !

Tengo un archivo con muchas hojas.
En una consulta en el foro vi que se puede hacer un listado con el nombre de cada una de las hojas
y hacer un hipervínculo para llegar directamente a la hoja necesaria.
Tengo las hojas y tengo una de ellas (la primera) con el listado de todas las hojas del archivo.
Necesito ayuda con la funcion, no se como usarla, lo he intentado pero no me resulta...



prueba con la siguiente alternativa: -> http://tinyurl.com/2mg83u

saludos,
hector.
Respuesta Responder a este mensaje
#2 Cacho
23/10/2007 - 06:36 | Informe spam
Incorpora el siguiente código en un módulo:

Sub GeneraListaDeHojas()
Dim Celda As Range, ii As Integer
On Error Resume Next
Set Celda = Application.InputBox("Seleccione la celda a partir de la
cual" & _
Chr$(13) & "se elaborará el índice.", Type:=8)
If Celda Is Nothing Then Exit Sub
On Error GoTo 0
Range(Celda.Offset(1, 0), Celda.Offset(400, 0)).Delete xlShiftUp
For Each Hoja In Sheets
If Hoja.Name <> ActiveSheet.Name Then
Celda.Offset(ii, 0) = Hoja.Name
ActiveSheet.Hyperlinks.Add Anchor:=Celda.Offset(ii, 0), _
Address:="", SubAddress:="'" & Celda.Offset(ii, 0) & "'!
A1"
ii = ii + 1
End If
Next Hoja

ActiveWorkbook.Names.Add Name:="ListaDeHojas", RefersTo:=Celda
Set Celda = Nothing
End Sub


Con la primer hoja seleccionada y al ejecutarlo (cuando sea necesario,
claro), te generará un listo completo con los nombres de las hojas del
archivo y su correspondiente hipervínculo.

Quizá no necesite decírtelo, pero ubicado ya en cualquiera de esas
hojas, cuando requieras volver a esta primer hoja, solo selecciona en
el "cuadro de nombres" (generalmente, a la izquierda de la barra de
fórmulas) el nombre "ListaDeHojas".

Saludos y quedo a tu disposición.
Respuesta Responder a este mensaje
#3 Héctor Miguel
23/10/2007 - 07:32 | Informe spam
hola, chicos !

si vamos a "asumir" el llenado de ~400 hojas en otras tantas ~400 filas (y su necesario "scrolleo")
con la consiguiente necesidad de eliminar y volver a rellenar cuando se agreguen/eliminen n_hoja/s
(creo que) saldria mas barata alguna de las siguientes alternativas:

op1: podrias evitar el uso de codigo si pulsas con el boto secundario del puntero
-> sobre las flechas en la parte inferior izquierda de las barras de desplazamiento

op2: podrias minimizar el uso de codigo y aligerar la carga y llenado de combos/listas/rangos/... con algo +/- como:
en un modulo de codigo normal ==Sub CambiarHoja()
With Application.CommandBars("workbook tabs").Controls(16)
If Right(.Caption, 3) = "..." Then .Execute Else .Parent.ShowPopup
End With
End Sub

-> macro a la que podrias asignarle un atajo de teclado

(son solo propuestas adicionales)
saludos,
hector.

__ la propuesta original __
Cacho escribio en el mensaje ...
Incorpora el siguiente codigo en un módulo:

Sub GeneraListaDeHojas()
Dim Celda As Range, ii As Integer
On Error Resume Next
Set Celda = Application.InputBox("Seleccione la celda a partir de la cual" & _
Chr$(13) & "se elaborara el indice.", Type:=8)
If Celda Is Nothing Then Exit Sub
On Error GoTo 0
Range(Celda.Offset(1, 0), Celda.Offset(400, 0)).Delete xlShiftUp
For Each Hoja In Sheets
If Hoja.Name <> ActiveSheet.Name Then
Celda.Offset(ii, 0) = Hoja.Name
ActiveSheet.Hyperlinks.Add Anchor:=Celda.Offset(ii, 0), _
Address:="", SubAddress:="'" & Celda.Offset(ii, 0) & "'!A1"
ii = ii + 1
End If
Next Hoja

ActiveWorkbook.Names.Add Name:="ListaDeHojas", RefersTo:=Celda
Set Celda = Nothing
End Sub

Con la primer hoja seleccionada y al ejecutarlo (cuando sea necesario, claro)
te generara un listo completo con los nombres de las hojas del archivo y su correspondiente hipervinculo (...)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida