xltoday.net

EXCEL 2007 TABLAS Y GRAFICOS


Repasar archivos Excel de una carpeta



Esta macro de Excel presenta una solución para repasar todos los archivos Excel (o de cualquier tipo) de una carpeta. Incluso nos deja abrir cada archivo Excel automáticamente para luego sacar datos.

Los ejemplos emplean la función DIR.

Presentar los archivos Excel de la carpeta

Este código nos presenta los nombres de cada archivo Excel.

Sub RepasarCarpeta() 'en este ejemplo sacamos los nombres de los archivos de la carpeta. 'dimensiones Dim strArchivoExcel As String Dim strNombreCarpeta As String 'carpeta a repasar< strNombreCarpeta = "C:/MisArchivosExcel" 'preparar carpeta ChDir strNombreCarpeta strArchivoExcel = Dir("*.xls") 'repasamos los archivos de la carpeta Do While strArchivoExcel <> "" MsgBox strArchivoExcel strArchivoExcel = Dir Loop End Sub

Sacar datos de todos los libros Excel de la carpeta

En este ejemplo añadimos la posibilidad de utilizar el objeto Workbook, para poder abrir (y cerrar) cada archivo Excel (para lectura o modificación).

Sub RepasarCarpeta2() 'en este ejemplo abriremos cada libro de la carpeta para sacar información de 'las celdas A1 y B1. 'dimensiones Dim wb As Workbook Dim strArchivoExcel As String Dim strNombreCarpeta As String 'carpeta a repasar strNombreCarpeta = "C:/MisArchivosExcel" 'preparar carpeta ChDir strNombreCarpeta strArchivoExcel = Dir("*.xls") 'repasamos los archivos de la carpeta Do While strArchivoExcel <> "" Set wb = Workbooks.Open(strNombreCarpeta & "\" & strArchivoExcel)   MsgBox wb.ActiveSheet.Cells(1, 1)   MsgBox wb.Application.Sheets("Hoja2").Cells(2, 1).Value wb.Close False Set wb = Nothing strArchivoExcel = Dir Loop End Sub