Como crear una macro que guarde un archivo con el nombre de una celda, la fecha en la que se creo

Quisiera que me ayuden a crear una macro que me permita guardar una hoja de excel tomando como nombre el dato de una celda, que al mismo tiempo le de la fecha en la que se creo y que me permita guardar el archivo en una carpeta

1 Respuesta

Respuesta
2

Esta sería la macro

Sub Macro8()
'por.dam
carpeta = "C:\Documents and Settings\Mis documentos\"
archivo = Range("A5")
ActiveWorkbook.SaveAs Filename:=carpeta & archivo & Date & ".xls ", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

Cambia la celda A5 por la celda donde está el nombre de tu archivo

Cambia el valor de carpeta, por la dirección donde quieres que se guarde

Saludos. Dam
Si es lo que necesitas.

hola he realizado los cambios que me pediste pero me sale un error y creo que es por que la carpeta que estoy utilizando para guardar el archivo se encuentra en red en otra pc, me podrías indicar si es correcto el código

Sub guardar()

'por.dam

carpeta = "D:\Escritorio\RED Prinze Documentos\estado d cuenta\NOVALAMPS\2013"

archivo = Range("A13") ActiveWorkbook.SaveAs

Filename:=carpeta & archivo & Date & ".xls ", _

FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False

End Sub

me parece que el error es por el formato de la fecha

saludos

Al final de esta línea te falta una \

carpeta = "D:\Escritorio\RED Prinze Documentos\estado d cuenta\NOVALAMPS\2013"

debe ser:

carpeta = "D:\Escritorio\RED Prinze Documentos\estado d cuenta\NOVALAMPS\2013\"

Revisa la extensión del archivo, por la version de excel, a lo mejor tiene que ser así

Filename:=carpeta & archivo & Date & ".xlsx"

Antes de enviarlo a la red, prueba en una carpeta de tu disco.

S la prueba es exitosa, revisa que tengas la conexión al servidor, revisa el nombre de la carpeta.

Después de hacer la prueba en tu disco, realiza la prueba en la red, si te envía error, dime el mensaje de error que te aparece, después presionas la opción "Depurar" y te lleva a la macro me dices cuál línea es la que se pone de amarillo.

Saludos. Dam

Si te funciona.

Hola he modificado tal cual me dijistes pero esta ocacion ya no me marca en amarillo me sale un cuadro que dice

no se puede tener acceso al archivo

'D:\Escritorio\LIQUIDACIONES\ PEDIDO DANNU 14\02'

y lo que quisiera es que guarde asi demas no me sale la extencion del archivo (xls)

'D:\Escritorio\LIQUIDACIONES\ PEDIDO DANNU 14.02.2013.xls'

el codigo le agregue un linea de comando que me permite escribir la fecha en la celda AO5 al momento de guardar

Sub guardar()

Range("AO5").Value = Date

carpeta = "D:\Escritorio\LIQUIDACIONES\"

archivo = Range("V9") ActiveWorkbook.SaveAs

Filename:=carpeta & "PEDIDO" & " " & archivo & " " & Date & ".xlsx ", _

FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False

End Sub

saludos

Esta sería la macro

Sub guardar()
Range("AO5").Value = Date
carpeta = "D:\Escritorio\LIQUIDACIONES\"
archivo = Range("V9")

ActiveWorkbook.SaveAs Filename:=carpeta & "PEDIDO" & " " & archivo & " " & Format(Date, "DD.MM.YYYY") & ".xlsx", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

End Sub

Lo que pasa es que no puedes guardar la fecha con formato dd/mm/yyyy, porque confunde la diagonal de la fecha con una diagonal de directorio de carpeta, por eso le estoy poniendo el formato dd. Mm. Yyyy

Prueba y me comentas.

Saludos. Dam
Si es lo que necesitas.

Amigo disculpa mi ignorancia pero he copiado la macro pero no y solo le modifique unas celdas pero aun no logro hacer que funcione, cuando le doy al botón asignado a la macro me arroja un mensaje de error #400

o

no se puede tener acceso al archivo "D:\Escritorio\LIQUIDACIONES\"

puede haber muchos motivos

* el nombre del archivo o la ruta no existe

*otro programa esta usando el archivo

*el libro que esta intentando guardar tiene el mismo nombre que otro archivo que esta abierto en este momento

te agradecería me puedas ayudar por que he revisado los posibles motivos y todo esta bien

Saludos

Hiciste la prueba como te comenté, intenta guardar el archivo en tu disco antes de enviarlo a la red, pon lo siguiente:

Sub guardar()
carpeta = "C:\"
archivo = "pedidos"
ActiveWorkbook.SaveAs Filename:=carpeta & archivo & Format(Date, "DD.MM.YYYY") & ".xlsx"
End Sub

Primero prueba esta parte y después le cambias lo que quieras.

Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas