Ejecutar una macro en varios archivos

09/09/2005 - 16:44 por NSANCHEZ | Informe spam
Hola, tengo el siguiente problema:
Cree una macro en un archivo llamado SUCU01 que se trata de dar formato a
las celdas, colocar pie de página, etc.
Después esa macro tengo que ejecutarla en más o menos 40 archivos llamados:
SUCU02, SUCU03, SUCU04 y asi sucesivamente.
Como puedo hacer para ejecutar la macro en todos estos archivos y no ir uno
por uno ejecutandolo.
Agradeceria mucho una respuesta.
 

Leer las respuestas

#1 KL
09/09/2005 - 18:02 | Informe spam
Hola NSANCHEZ,

Prueba ejecutar el macro de abajo (Sub Test()) desde cualquier modulo
abierto, previamente cambiando la ruta y/o lo que haga falta.

Saludos,
KL

'--inicio codigo--
Sub test()
Dim txt As String, Archivo As String, Nombre As String
Dim ext As String, i As Long, Ruta As String
Ruta = "C:\Temp\"
Nombre = "SUCU"
ext = ".xls"
Application.ScreenUpdating = False
For i = 1 To 40
Archivo = Nombre & Format(i, "00") & ext
If FileExists(Ruta & Archivo) Then
If WorkbookIsOpen(Archivo) Then
Workbooks(Archivo).Activate
Else
Workbooks.Open Archivo, False
End If
With ActiveWorkbook
txt = txt & .Name & Chr(13)
.Close 'False
End with
End If
Next i
Application.ScreenUpdating = True
MsgBox txt
End Sub

Private Function FileExists(fname) As Boolean
' By John Walkenbach
Dim x As String
x = Dir(fname)
If x <> "" Then FileExists = True _
Else FileExists = False
End Function

Private Function WorkbookIsOpen(wbname) As Boolean
' By John Walkenbach
Dim x As Workbook
On Error Resume Next
Set x = Workbooks(wbname)
If Err = 0 Then WorkbookIsOpen = True _
Else WorkbookIsOpen = False
End Function
'--fin codigo--

Preguntas similares