Inicio » VBA-Ejemplos » Repasar archivos Excel de una carpeta

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 importar datos de todos los archivos de esa carpeta determinada.

Presentar los archivos Excel de la carpeta

Los ejemplos emplean la función DIR, y el código VBA presentado abajo, nos indica 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
  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS