Macro en excel para abrir varios ficheros

Expert@s!
Quisiera realizar una macro que vaya abriendo distintos ficheros excel contenidos en distintos subdirectorios, para extraer diferente información...
Tendría que recorrer todos los subdirectorios... E ir abriendo todos los ficheros excel que vaya encontrando.

1 respuesta

Respuesta
2
Se puede hacer pero tienes que dar los nombres de las carpetas porque si recorres toda la lista pues abriría todos los libros de excel que encuentre
Cordialmente,
cmera
Eso es lo que quiero...
Que abra todos los libros excel que encuentre dentro de todos los subdirectorios de una carpeta...
Creo que es algo con el comando "dir", pero la verdad que no se usarlo...
Saludos.
Ahí va, ten cuidado pues si hay libros muy pesados se puede bloquear el equipo.
Otra cosa, si hay libros vinculados va a preguntar pero me parece mejor por seguridad.
Sub LasCarpetas()
'Macro Grabada el 14/09/2004 por Cesar Mera
'Busca en una Carpeta del sistema y sus subcarpetas todos los archivos de Excel y los abre
Dim NombreCarpeta As String
NombreCarpeta = "C:Documents and SettingsMis documentosPENDIENTES" 'Colocar la carpeta inicial
Call ShowFolderList(NombreCarpeta)
End Sub
Sub ShowFolderList(LaCarpeta As String)
Dim NombreSubCarpeta As String
Set FileSys = CreateObject("Scripting.FileSystemObject")
Set Folder = FileSys.GetFolder(LaCarpeta) ' Asigna la carpeta a la variable Folder
Set ListaCarpetas = Folder.Subfolders ' Asigna la lista de Subcarpetas a la variable ListaCarpetas
Set ListadoArchivos = Folder.Files ' Asigna la lista de Archivos a la variable ListadoArchivos
For Each Archivo In ListadoArchivos
If InStr(1, Archivo.Name, ".xls", vbTextCompare) Then
Workbooks.Open (Folder & "/" & Archivo.Name)
End If
Next Archivo
For Each Subcarpeta In ListaCarpetas
NombreSubCarpeta = Folder.Path & "" & Subcarpeta.Name
Call ShowFolderList(NombreSubCarpeta) 'Procedimiento recursivo, se llama a si mismo para hacer
Next Subcarpeta 'la verificación en las subcarpetas
End Sub
La única modificación que debes hacer es colocar en la variable "NombreCarpeta" la ruta exacta que contiene los archivos y las subcarpetas con los archivos que deseas abrir.
Si no entiendes algo por favor me avisas para explicarte de lo contrario favor valorar la respuesta de acuerdo a su calidad, utilidad y oportunidad.
Cordialmente,
cmera

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas