Guardar archivo en carpeta con fecha

Buenas tardes amigos EXPERTOS...

quiero que me ayuden a realizar una macro la cual haga lo siguiente:

que guarde un libro de excel automáticamente en una carpeta que contenga en el nombre la fecha del dia actual.

ejemplo

en la unidad c:

hay 3 carpetas con los siguientes nombres:

compras 29-05-12

compras 30-05-12

compras 31-05-12 (dia actual)

que busque la carpeta 31-05-12 (dia actual) y lo guarde en esa carpeta

cabe señalar que diario se crea una carpeta con la fecha actual

espero me ayuden y mejor aun me halla explicado bien

gracias..!!!

1 Respuesta

Respuesta
1

Te mando mi solución:

Esta macro puedes ejecutarla al pulsar un botón o puedes llamarla auto_close para que se autoejecute al salir del archivo y hará lo siguiente:

Comprobará si existe la carpeta correspondiente al día y si no existe la crea. Por último aparece el cuadro de dialogo para grabar el archivo en dicha carpeta.

Sub crear_carpeta()
Set f = CreateObject("scripting.filesystemobject")
If Not f.folderexists("C:\carpeta " & Day(Date) & "_" & Month(Date) & "_" & Year(Date)) Then
MkDir "c:\carpeta " & Day(Date) & "_" & Month(Date) & "_" & Year(Date)
End If
ChDir "c:\carpeta " & Day(Date) & "_" & Month(Date) & "_" & Year(Date) & "\"
Application.Dialogs(xlDialogSaveAs).Show
End Sub

recuerda finalizar y puntuar

muchas gracias como siempre solo que tengo una duda:

en el caso de que no quiera que aparezca el cuadro de dialogo de guardar??

si no que lo guarde automáticamente se puede???

Si quieres que lo guarde automáticamente tenemos que ponerle el nombre del archivo dentro de la macro. ¿Con qué nombre quieres grabar el archivo?

con el nombre de "compras",,, o se me ocurre lo puede tomar de la celda a1???

gracias de antemano por el tiempo invertido

Entonces la macro queda así:

Sub crear_carpeta()
Set f = CreateObject("scripting.filesystemobject")
If Not f.folderexists("C:\carpeta " & Day(Date) & "_" & Month(Date) & "_" & Year(Date)) Then
MkDir "c:\carpeta " & Day(Date) & "_" & Month(Date) & "_" & Year(Date)
End If
ChDir "c:\carpeta " & Day(Date) & "_" & Month(Date) & "_" & Year(Date) & "\"
activeworkbook.saveas range("a1").value
End Sub

recuerda finalizar y puntuar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas