Macro para aplicar masivamente

Dispongo de una macro en el libro personal y quiero ejecutarla en todos los ficheros que contiene un directorio. Normalmente entre 20/30 ficheros después de exportar los datos desde access creando ficheros excel

1 respuesta

Respuesta
1
La instrucción para ejecutar una macro que se encuentra en el libro Personal es esta, ajustando el nombre de la rutina:
Application.Run "Personal.xls!Macro2"
Podés colocarla en el evento Open de cada libro
O si la tendrás en un libro 'principal' necesitarás la macro que sigue, que recorrerá todos los libros de esa carpeta.
Sub ListarArchivosCarpeta()
Dim strArchivos As String
Dim strNombreCarpeta As String
'carpeta donde se hará la búsqueda
'strNombreCarpeta = "C:\Documents and Settings\All Users\Documentos\"
'o también se puede hacer la búsqueda en la carpeta donde se encuentra este libro
strNombreCarpeta = ThisWorkbook.Path
'pasamos al directorio elegido, indicando como tipo de archivo Excel
ChDir strNombreCarpeta
strArchivos = Dir("*.xls")
'recorremos los archivos de la carpeta
Do While strArchivos <> ""
'podemos mostar el nombre de cada archivo encontrado
Workbooks.Open strArchivos
Application.Run "Personal.xls!macroFecha"
'cierra guardando los cambios
ActiveWorkbook.Close True
'obtiene la siguiente entrada
strArchivos = Dir
Loop
End Sub
Saludos y no dejes de finalizar
Elsa
**Macro extraída del manual '400Macros' No te lo pierdas!
http://es.geocities.com/lacibelesdepunilla/manuales_aplicaciones
Fíjate que al final de la instrucción strNombreCarpeta = ... te falta la barra...
Otra cosita: agregaste C antes del asterisco en Dir... supongo que querés con esto solo los libros cuyo nombre empiezan con C, ¿verdad?
Pruébalo nuevamente y comentame si ahora ya lográs obtener los resultados esperados.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas