Listar las hojas de un libro

13/11/2004 - 18:22 por Playa de Chilches - atención al cliente | Informe spam
Alguien sabe como puedo relacionar en una hoja nueva las hojas que componen
otro libro excel.
Si ademas me indicarais como escribir el hipervinculo para abrirlas sería
estupendo.
Gracias
 

Leer las respuestas

#1 julian-Vlc-Sp
13/11/2004 - 21:47 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias.

Para listar las hojas de un libro en un rango determinado de una hoja
concreta, puedes usar lo siguiente:

* * * * * * * * * *
INICIO CODIGO
* * * * * * * * * *
Option Explicit

Sub leer_nombres_hojas()

Dim hoja As Worksheet
Dim i As Long

' En las dos siguientes lineas, indicamos la hoja donde se quieren escribir
los nom-
' bres de las hojas del libro activo, y el rango donde queremos escribirlos.

Sheets("NOMBRE_HOJA_RECEPTORA").Select

Range("a10:a1000").Select

' En la siguiente linea borramos el contenido del rango

Selection.ClearContents

i = -1

' En las siguientes lineas podemos excluir hojas del listado (las qeu
podamos tener
' ocultas o bloqueadas, por ejemplo)

For Each hoja In Worksheets

If hoja.Name <> "hojax" And hoja.Name <> "hoja 2" Then

i = i + 1

' En la siguiente linea, "a" y 10 hay que sustituirlos por los valores de la
primera
' celda del rango qeu queremos rellenar, en este ejemplo, es la A10.

ActiveSheet.Range("a" & Trim(Str(10 + i))).Value = hoja.Name

End If

Next

' En la siguiente linea, se llama a un procedimiento que ordena
alfabeticamente las
' celdas de un rango. El procedimiento se transcribe a continuacion de este.

Call ordenar_un_rango

End Sub

Sub ordenar_un_rango()

' En la siguiente linea desprotegemos la hoja si esta protegida con la
contraseña xx

ActiveSheet.Unprotect password:="xx"

' En la siguiente linea hay que cambiar A10:A100 por el rango qeu queramos
ordenar,
' y A10 por la primera celda del rango que queremos ordenar

Range("A10:A100").Select
Selection.Sort Key1:=Range("A10"), Order1:=xlAscending, Header:=xlGuess,
_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

' En la siguiente linea, volvemos a proteger la hoja con la contraseña xx

ActiveSheet.Protect password:="xx", DrawingObjects:=True,
Contents:=True, Scenarios:=True

End Sub

* * * * * * * *
FIN CODIGO
* * * * * * * *

SALUDOS.
julian-Valencia-España

http://www.access-facil.tk
http://www.access-sin-codigo.tk

"Playa de Chilches - atención al cliente"
escribió en el mensaje news:%
Alguien sabe como puedo relacionar en una hoja nueva las hojas que
componen
otro libro excel.
Si ademas me indicarais como escribir el hipervinculo para abrirlas sería
estupendo.
Gracias


Preguntas similares