Nombres de hojas

03/05/2010 - 23:47 por Avergaston | Informe spam
Hola a todos.
Se puede o como puedo hacer para, obtener los nombres de las hojas de un
libro determinado.

Ejemplo:
Tengo el libro "ventas.xls" que contiene las hojas: colon, feriado, 05 Mayo
y 14. (estos nombres pueden variar en cantidad y longitud).
Se puede saber los nombres de esas hojas desde otro libro llamado,
"union.xls" ???
y volcar estos resultados en este libro. ???

Gracias.
 

Leer las respuestas

#1 Ignacio
04/05/2010 - 11:00 | Informe spam
¡Hola, Avergaston!

Pon el siguiente código en un módulo de VBA, por ejemplo en
ThisWorkbook del libro union.xls:
Private Sub ListaHojas(sArchivo As String)
Dim lib As Workbook, hoj As Worksheet, bAbierto As Boolean

For Each lib In Workbooks
If lib.FullName = sArchivo Then
Exit For
End If
Next
If lib Is Nothing Then
Set lib = Workbooks.Open(Filename:=sArchivo, ReadOnly:=True)
bAbierto = True
End If
For Each hoj In lib.Worksheets
Debug.Print hoj.Name
Next
If bAbierto Then lib.Close
Set lib = Nothing
End Sub

Luego llama al procedimiento desde cualquier evento, por ejemplo desde
Workbook_Open:
Private Sub Workbook_Open()
ListaHojas "C:\Documents and Settings\Mis documentos\ventas.xls"
End Sub

Asegúrate de poner la ruta de tu archivo ventas.xls correctamente.
Cierra y vuelve a abrir el libro union.xls y verás los nombres de las
hojas en la ventana de inmediato. Para poner el resultado en tu libro
acomoda la instrucción Debug.Print por las celdas donde desees ver los
nombre de las hojas.

Espero que te sirva de ayuda.

Un saludo,
Ignacio.

Preguntas similares