Inicio > Microsoft Excel > elsamatilde > Crear macro para guardar un archivo de excel

Crear macro para guardar un archivo de excel

Experto:
Usuario:
Fecha: 02/06/2008
Valoración: (5,00 sobre 5) Categoría: Microsoft Excel
28/05/2008
fgalvis, usuario preguntando en Microsoft Excel
Usuario
Buenas Tardes a Todos
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.
Espero me puedan ayudar
Gracias
FG
28/05/2008
fgalvis, experto respondiendo en Microsoft Excel
Experto
Hola:
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 seguis 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.

Saludos
Elsa

http://es.geocities.com/lacibelesdepunilla/macros
28/05/2008
fgalvis, usuario preguntando en Microsoft Excel
Usuario
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
29/05/2008
fgalvis, experto respondiendo en Microsoft Excel
Experto
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

Probalo y comentame si esto es lo que necesitas.
Podés reemplazar la ruta del libro activo por otra indicándola asi:
ruta = "C:\Documents & Sett\Documentos"
No coloqué separadores en la hora ( no se aceptan los 2 ptos.), lo dejo a tu criterio.

Saludos
Elsa

http://galeon.com/aplicaexcel
29/05/2008
fgalvis, usuario preguntando en Microsoft Excel
Usuario
Hola Elsa
Excelente es lo que queria funciono perfecto, pero ahora esta macro es para ser usada en una red por lo que como haria para que la ruta de la cual la macro leera la información que necesito se cambiante según el usuario de windows, es decir, quiero que la ruta sea asi: "C:\Documents and Settings\feliciano galvis\Desktop"; "C:\Documents and Settings\pedro perez\Desktop" etc.
Gracias
FG
30/05/2008
fgalvis, experto respondiendo en Microsoft Excel
Experto
¿Porqué 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 x inputbox, o tomado desde el menu herramientas-Opciones, o valor de una celda, etc .... no me lo aclarás.

Saludos
Elsa
http://galeon.com/aplicaexcel
31/05/2008
fgalvis, usuario preguntando en Microsoft Excel
Usuario
disculpa que te haya molestado con una segunda pregunta, pero me surgio 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
02/06/2008
fgalvis, experto respondiendo en Microsoft Excel
Experto
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
02/06/2008
fgalvis, usuario preguntando en Microsoft Excel
Usuario
Excelente
Muchas gracias por tu ayuda, que tengas feliz día
FG
Enlaces patrocinados