Fecha automática en el nombre del file

Hola, quería saber si era posible hacer que al guardar el archivo el mismo antes de confirmar traiga la fecha que figura en una celda de la hoja de calculo. Sè que es algo rebuscado pero me seria de gran utilidad.
Saludos,
Brenda

1 Respuesta

Respuesta
1
Si lo que estás intentando obtener es que se guarde tu archivo con la fecha de cierta celda estos son los pasos:
Entrar el Editor (con Alt + F11), seleccionar con doble clic el objeto ThisWorkBook (del panel a tu izquierda) y allí escribí esta rutina que ya te explico lo que hace:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ruta = ThisWorkbook.Path
nombre = Range("D2") & ActiveWorkbook.Name
ActiveWorkbook.SaveAs ruta & "\" & nombre & ".xls"
End Sub
La variable ruta guarda la carpeta donde se ubicará el archivo. Con ThisWorkbook. Path lo guardará en la misma que el libro activo.
Nombre: aquí se arma una cadena con la fecha y el nombre actual del libro (incluyendo su extensión, por eso coloqué la fecha delante)
Pero si la fecha tendrá barras como separadores, te dará error. Tendrás que cambiarlo antes, por ej, por guiones:
nombre = format(Range("D2"), "dd-mm-yy") & activeworkbook.name
Cuando no mencionan referencias solo se puede hacer una rutina aproximada... espero puedas adaptarla a tus necesidades. Sino escribime nuevamente con todos tus datos.
Hola Elsa antes que nada gracias por tu respuesta, sinceramente no pensé que se podría realizar lo que te pregunte.
Te comento que lo probé pero me salio un error que dice:
Run-Time error 1004
Microsoft Excel cannot access the file C:/Documents and settings/bl69422/desktop/mejoras/10/07. There are several possible reasons: The file name or path name does not exist. The file you´re trying to open is being used by another program. Close the document in the other program and try again.
Lo probe con la fecha del 10/07/2008 y con la primer formula que me indicastes.
Tambien cuando la escribo en Visual Basic el siguiente renglon me lo marca en amarillo.
ActiveWorkbook.SaveAs ruta & "\" & nombre & ".xls"
Muchas Gracias,
Brenda
La fecha no puede llevar barras como separadores, por eso te indiqué que utilizaras la expresión format(...), fíjate en mi respuesta .
La cadena que tenés que armar a continuación del ActiveWorkbook. SaveAs ... tiene que ser tal como lo verás en tu barra de dirección, es decir yo agregué una barra (ruta & "\" & nombre) pero si ya incluiste la barra en la variable ruta no hará falta que la agregues aquí...
Sin referencias o nombres concretos no puedo explicarte más de lo que te escribí... tendrás que poner un poco de tu parte para armar el nombre del archivo y su ruta, tal como lo ves en cualquiera de tus carpetas...
Sino decime exactamente cuál será la carpeta donde guardarás el archivo, y cómo se llamará el libro, además de la fecha.
Hola Elsa, Disculpa mi tardanza entre pregunta y respuesta, bueno te comento que modifique un par de cosas de la rutina que me pasaste para que la fecha me figure al final del file y no al principio.
Lo ultimo que necesitaría para poder darle un cierre seria que cuando pongo la rutina, me aparecer el nombre del file .xls y después la fecha. Yo necesitaría que quede el nombre del file la fecha y desp xls.
Te copio la rutina que estoy utilizando.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ruta = ThisWorkbook.Path
nombre = ActiveWorkbook.Name & Format(Range("D2"), "yyyymmdd")
ActiveWorkbook.SaveAs ruta & "\" & nombre & ".xls"
End Sub
Muchas Gracias,
Brenda
ActiveWorkbook. Name contiene también la extensión.
Entonces tenés que tomar la parte del nombre solamente con esto:
nbre = left(activeworkbook.Name, len(activeworkbook.name) -4)
Entonces la cadena te queda:
nombre = nbre & Format(.........)
Elsa Muchísima Gracias por tu ayuda !
En primer lugar pregunte algo que no sabia que se podía hacer y luego de tu respuesta clara y rápida lo pude resolver.
La verdad me has solucionado el dilema.
Muchísimas Gracias !

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas