publicado el 10 de junio9 años Buenas noches Bueno la idea es una macro que me grabe el archivo como Archivo_dia_hora cuando lo vuelva a abrir , machaque el archivo anterior y escriba Archivo_nuevo dia_nueva hora cosa que cuando lo vea sabre que es el ultimo y que ademas cree una copia de respaldo de la forma Respaldo_Archivo_nuevo dia_nueva hora no subi archivo pues cualquier archivo excel cumple la funcion creo. gracias
publicado el 10 de junio9 años Hola, Quizá no comprendo,...pero cuando se guardan los archivos hay en Detalla, o en propiedades del archivo la fecha de modificación cada vez que se cierra o se guarde el archivo allí ya existe la fecha para verificar lo que quieres.
publicado el 10 de junio9 años Autor Parece que no se entendio, gracias igual por responder Supongamos que tengo un archivo llamado nota.xlsm lo abro , ingreso datos en el archivo y al grabar, me lo graba la macro Nota_8-06-2016-1.27.54.xlsm y ademas crea un respaldo BKNota_8-06-2016-1.27.54.xlsm hoy lo vuelvo a abrir, abro Nota_8-06-2016-1.27.54.xlsm ingreso datos y cuando termine lo graba la macro Nota_10-06-2016-14.27.54.xlsm y me crea el respaldo BKNota_10-06-2016-14.27.54.xlsm y asi sucesivamente cuando la macro graba sobre escribe la version anterior y la copia anterior de esta forma deberian quedar siempre dos archivos Nota_dia-hora .xlsm y BKNota_dia-hora .xlsm esto lo pregunte aqu mismo hace como 2 años lo busque varias veces pero no me aparece al archivo solucion que me mandaron ede dia el cual funcionaba perfectamente y perdi en un formateo gracias
publicado el 10 de junio9 años Sera que por aqui va bien?? Sub SaveAS() Dim MiArchivo As String MiArchivo = Range("A1") Application.DisplayAlerts = False ActiveWorkbook.SaveAS Filename:= _ "C:\TuRuta\" & MiArchivo, _ FileFormat:=xlWorkbookNormal, CreateBackup:=False 'Aqui se modifica el tipo de extension que deseas Application.DisplayAlerts = True End Sub En A1 poner =HOY() y pon en formato de celda fecha y hora
publicado el 12 de junio9 años Autor En 10-06-2016 at 18:54 , Visor dijo: Sera que por aqui va bien?? Sub SaveAS() Dim MiArchivo As String MiArchivo = Range("A1") Application.DisplayAlerts = False ActiveWorkbook.SaveAS Filename:= _ "C:\TuRuta\" & MiArchivo, _ FileFormat:=xlWorkbookNormal, CreateBackup:=False 'Aqui se modifica el tipo de extension que deseas Application.DisplayAlerts = True End Sub En A1 poner =HOY() y pon en formato de celda fecha y hora Algo debo hacer mal...no me resulta como lo recuerdo ademas , no tenia que ver con el rango de una celda , era de otra forma.. te mando el archivo gracias por tu tiempo Nota.xlsm
publicado el 12 de junio9 años Que tal si pruebas primero con un Msgbox lo que te sale allí debería ser el nombre del archivo que ya no depende del Rango A1 solo de código Vba Sub SaveAS() Dim FechaActual As Date Dim Hora As Date Dim MiArchivo As String FechaActual = Date Hora = Now MiArchivo = Now ' Date '& Now MsgBox MiArchivo 'Application.DisplayAlerts = False 'ActiveWorkbook.SaveAS Filename:= _ '"C:\TuRuta\" & MiArchivo, _ 'FileFormat:=xlWorkbookNormal, CreateBackup:=False 'Aqui se modifica el tipo de extension que deseas 'Application.DisplayAlerts = True End Sub Si allí te parece bien, eliminas el msgbox y activas el resto de lineas eliminando las comillas
publicado el 12 de junio9 años quiza tengas problemas porque el nombre del archivo lleva slashs / en la fecha con el codigo anterior, por lo que esto no se acepta en los nombres con este codigo se logra lo que deseas pero Sub guardando() nbre = Format(Now, "dd-mm-yy hh.mm.ss") ruta = ActiveWorkbook.Path n_arch = ActiveWorkbook.Name n_hoja = ActiveSheet.Name ActiveWorkbook.SaveAs Filename:=ruta & "\" & n_hoja & nbre & ".xls"', FileFormat:=xlCSV ActiveSheet.SaveAs ruta & "\" & n_arch & nbre & ".xlsm" End Sub los archivos que se crean en el mismo lugar donde esta tu archivo, luego no se pueden abrir los archivos eso no se aun las razones
publicado el 12 de junio9 años Autor Podrias mandarme tú ,un archivo excel como ejemplo, no me resulta...
publicado el 13 de junio9 años Hola: ¡¡¡¡¡ zero-x !!!!! Te Adjunto un ejemplo de como podria quedar!! Saludos!!! lunes, 13 de junio de 2016 15_57_40.xlsm
publicado el 14 de junio9 años Autor Hace 15 horas, Mauricio_ODN dijo: Hola: ¡¡¡¡¡ zero-x !!!!! Te Adjunto un ejemplo de como podria quedar!! Saludos!!! lunes, 13 de junio de 2016 15_57_40.xlsm Hola Mauricio , me sale error al descargarlo , lo puedes subir otra vez por favor. Lo siento, hay un problema No podemos encontrar el elemento que estás intentando ver. Código de error: 2S328/1
publicado el 14 de junio9 años Hola de nuevo ¡¡¡¡¡ zero-x !!!!! Subo el Archivo de nuevo Este seria el codigo Sub OldNewName() 'Definimos las Variables para elNombre del Archivo Nuevo 'Dim NewName As String Dim Fecha As Date Dim Texto1 As String Dim Texto2 As String Fecha = Range("A1").Value Texto1 = Format(Now(), "hh_mm_ss") Texto2 = Format(Now(), "Long Date") 'MsgBox Texto2 & " " & Texto1 'Definimos el Nombre del Archivo Anterior Dim OldName As String OldName = ThisWorkbook.Name 'MsgBox OldName On Error Resume Next 'Creamos el Archivo co el Nombre Nuevo ActiveWorkbook.SaveAs Filename:=Texto2 & " " & Texto1, _ FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False Application.DisplayAlerts = False 'Eliminamos el Archivo con el Nombre Anterior Kill (OldName) Application.DisplayAlerts = False 'Información opcional MsgBox "Archivo Eliminado " & Chr(10) & OldName, vbInformation, "Control de Archivo" MsgBox "Archivo Nuevo " & Chr(10) & ThisWorkbook.Name, vbExclamation, "Control de Archivo" End Sub lunes, 13 de junio de 2016 16_19_38.xlsm
publicado el 15 de junio9 años Autor hola , tengo un problema , baje tu archivo lo ppuse en una carpeta , lo ejecuto , ejecuto la macro y hace todo lo que se supone que hace , salen los dos mensajes , que borro el anterior y que creo el siguiente , pero luego veo en la carpeta y sigue el archivo oriiginal (osea como que lo realizo pero no realizo nada) , busque en el hd por si lo grabo en otro lado , y no hay nada , vi la rutina y no encuentro error... puedes revisar gracias
publicado el 15 de junio9 años Hola mi Estimado zero-x ¡¡¡¡Que Pena Contigo por no preveer eso!!! Disculpame por favor Mira Abre un Libro de Excel desde ahí abre el archivo donde lo guardste en su Ubicación esto con el Fin de que queda Guardado el directorio Así debe de Funcionar Saludos!!!
publicado el 15 de junio9 años Autor no te entiendo mucho , puedes clarificar por favor mas tarde lo veré
publicado el 15 de junio9 años Mira Abre un Libro nuevo de Excel Desde ese Libro vas Menu Archivo Abrir De ahí Vas Abrir el Archivo que estamos Trabajando donde lo guardaste Al Abrir Lo ejecutas y Listo!!!
publicado el 16 de junio9 años Autor hola gracias por el aporte , me sale error en tiempo de ejecuacion como funciona exatamente este ejemplo
publicado el 16 de junio9 años El archivo con el simple hecho de cerrarlo ejecuta las macros, ya que están en el Before Close del Workbook. Trata con este nuevo ejemplo y me comentas. Si te sale error tomale un pantallazo y lo muestras, ya que no es posible definir el error solo con que digas "me sale error en tiempo de ejecución", ya que no especificas nada. Prueba.zip
publicado el 17 de junio9 años Autor hola me funciona muy bien , es justo lo que andaba buscando, ahora , en necesario que este ese rango en a1 y b2 , ¿se puede poner en otro lado ya que se usan las primeras 10 hojas de cada libro? , gracias por tu tiempo
publicado el 21 de junio9 años Autor hola aaquino tengo problemas con tu macro , al ponerla en otro archivo no hay caso que me resulte tu macro, la copio totalmente al nuevo archivo , ese si en ves de prueba le pongo el nombre de notas , cambio las referencias en las celdas pero no funciona , tu hoja esta en ingles , no se si es eso , o la carpeta , nada tiene que ver con activar las macros , estan activadas. podrias revisar por favor
publicado el 21 de junio9 años Hace 10 horas, zero-x dijo: hola aaquino tengo problemas con tu macro , al ponerla en otro archivo no hay caso que me resulte tu macro, la copio totalmente al nuevo archivo , ese si en ves de prueba le pongo el nombre de notas , cambio las referencias en las celdas pero no funciona , tu hoja esta en ingles , no se si es eso , o la carpeta , nada tiene que ver con activar las macros , estan activadas. podrias revisar por favor Por lo que te entiendo, copiaste completamente las 3 macros que hice en el archivo que te adjunte. No se si te diste cuenta que hay una secuencia de macros en el evento "Before Close" del Workbook, no se si también copiaste eso. Adicional te comento, yo tengo mi excel en inglés, por lo que puse esta línea en cada una de las macros NombreActual = Sheet1.Range("A2")[/CODE] Lo que puedes hacer es cambiarla en las 3 macros por lo siguiente: [CODE]NombreActual = HojaX.Range("A2")[/CODE] en HojaX debes sustituir la "X" por la hoja donde estén ubicados los datos de guardado en tu nuevo proyecto. Sino, puedes subir el archivo que necesitas sea modificado, y con mucho gusto te lo modifico para que funcione. Que quede claro que lo puedes subir con una simple muestra de los datos que ya tienes en el archivo, y yo te configuro las macros para que solo copies y pegues el contenido total de tu archivo. Saludos.
publicado el 22 de junio9 años Autor Hola ...te subi un archivo en español , para ver lo que pasa , no me funciona , no se porque Macros.rar
publicado el 30 de junio9 años Ves que te dije que no habías revisado TODO el proyecto. Te faltaba añadir el proceso que estaba en el Workbook En 21/6/2016 at 17:03 , aaquino dijo: No se si te diste cuenta que hay una secuencia de macros en el evento "Before Close" del Workbook, no se si también copiaste eso. Macros.zip
Buenas noches
Bueno la idea es una macro que me grabe el archivo como Archivo_dia_hora
cuando lo vuelva a abrir , machaque el archivo anterior y escriba Archivo_nuevo dia_nueva hora
cosa que cuando lo vea sabre que es el ultimo y que ademas cree una copia de respaldo de la forma Respaldo_Archivo_nuevo dia_nueva hora
no subi archivo pues cualquier archivo excel cumple la funcion creo.
gracias