Crear macro para guardar un archivo de excel

Estoy creando una macro para copiar de un libro de excel a otro y que el libro actual sea guardado con un nombre nuevo, pero tengo un problema no tengo se como crear una instrucción para que la macro me cambie el nombre del archivo a ser guardado en función a la fecha y hora en que se esta guardando el archivo.
Explico mejor, yo necesito que el nombre del archivo se igual a la fecha + la hora en que se esta guardando el archivo de excel: Ejm: Nombre del Archivo: 01-01-08+12:59 --> este nombre debe ser cambiante de manera que la macro no me reemplace el archivo.

1 Respuesta

Respuesta
1
No ha quedado muy en claro qué libro se guardará con fecha y hora pero te dejo algunas instrucciones. Cualquier duda me volvés a escribir.
nbre= Now    'guarda fecha y hora en variable
Activeworkbook.SaveCopy as ruta & "\" & nbre & ".xls"    'guarda copia del libro  (1)
ActiveWorkbook.Save As ruta & "\ & nbre & ".xls"            'guarda el libro actual (2)
La instrucción 1 hace 1 copia del libro actual, pero te seguís quedando en el libro activo (libro1)
La 2da instrucción te guarda el libro actual con otro nombre y pasa a ser el libro activo. Tendrás volverte al libro1, o activarlo con:
Workbooks("Libro1.xls").Activate
Estos son solo ejemplos, espero te sirvan para lo que necesitas, o me volvés a escribir.
De antemano gracias por la ayuda Elsa
Pero lo que quiero es que la macro guade el archivo actual en uno nuevo y que el nombre que le colocara para guardarlo debe ser la fecha + la hora correspondiente al momento de realizar el guardado del archivo.
Espero haberme explicado
Saludos
FG
Entonces es la 1er instrucción.
Entrá al Editor (con Alt y F11 juntas), insertá un módulo y allí escribí esta rutina:
Sub guardando()
nbre = format(Now, "dd-mm-yy hh mm ss")
ruta = ThisWorkbook.Path
ActiveWorkbook.SaveCopyAs ruta & "\" & nbre & ".xls"
End Sub
Pruébalo y comentame si esto es lo que necesitas.
Podes reemplazar la ruta del libro activo por otra indicándola así:
ruta = "C:\Documents & Sett\Documentos"
No coloqué separadores en la hora ( no se aceptan los 2 puntos.), lo dejo a tu criterio.
Hola Elsa
Excelente es lo que quería funciono perfecto, pero ahora esta macro es para ser usada en una red por lo que como haría para que la ruta de la cual la macro leerá la información que necesito se cambiante según el usuario de windows, es decir, quiero que la ruta sea así: "C:\Documents and Settings\feliciano galvis\Desktop"; "C:\Documents and Settings\pedro perez\Desktop" etc.
Gracias
FG
¿Por qué no preguntan todo desde un principio?
La ruta se puede 'armar' como una cadena:
ruta = "C:\Documents and Settings\" & usuario & "\Desktop" ....
Donde usuario será un nombre a solicitar por inputbox, o tomado desde el menu herramientas-Opciones, o valor de una celda, etc ... no me lo aclarás.
Disculpa que te haya molestado con una segunda pregunta, pero me surgió al momento de hacer la prueba ya que antes no la tenia estimada.
El usuario sera tomado del menu herramientas - opciones-general-user name
Saludos
FG
Bien, entonces necesitas otra variable definida así:
usuario = application.username
y luego la variable ruta quedaría como te lo indiqué:
ruta = "C:\Documents and Settings\" & usuario & "\Desktop"
Saludos
Elsa
Tus mejores opciones en manuales Excel desde:
http://galeon.com/aplicaexcel/manuales.htm

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas