`` `VBA
Sub SaveandCreateneWweeklyBook ()
Dim WB como libro de trabajo
Dim Newwb como libro de trabajo
Dim strfilename como cadena
Dim strfilepath como cadena
Dim dt como fecha
'Obtenga el libro de trabajo actual
Establecer wb =thisworkbook
'Obtenga la fecha actual
dt =fecha
'Calcule la fecha de inicio de la semana actual (domingo)
DT =DT - Día de semana (DT, Vbsunday) + 1
'Formatear la fecha para el nombre de archivo (aaa yyy-mm-dd)
strfilename =format (dt, "aaa yyy-mm-dd") y "ingreso.xlsx"
'Especifique la ruta del archivo (cambie esto a la ubicación deseada)
strfilepath ="c:\ su \ file \ path \" '<--- Cambie esto a su ruta deseada
'Ruta de archivo completa
strfilepath =strfilepath &strfilename
'Guarde el libro de trabajo actual
En el error de error Siguiente 'manejar posibles errores durante el ahorro
WB.Saveas FileName:=strFilePath, fileFormat:=xLOpenXMLWorkBook
Si err.number <> 0 entonces
Msgbox "Error de ahorro de libros:" &Err.Description, VBCritical
Salir
Final si
En error goto 0
'Crea un nuevo libro de trabajo
Establecer newwb =Workbooks.Add
'Guarde el nuevo libro de trabajo con la misma ruta del archivo pero una fecha diferente
dt =dt + 7 'fecha de la próxima semana
strfilename =format (dt, "aaa yyy-mm-dd") y "ingreso.xlsx"
strfilepath ="c:\ su \ file \ path \" &strfilename '<--- Cambie esto a su ruta deseada
En el currículum de error siguiente
Newwb.Saveas FileName:=StrFilePath, FileFormat:=xLOpenXMLWorkBook
Si err.number <> 0 entonces
Msgbox "Error de creación de un nuevo libro de trabajo:" &Err.Description, VBCritical
newwb.close saveChanges:=falso 'Cerrar sin guardar si se produce un error
Salir
Final si
En error goto 0
'Opcional:agregue un cuadro de mensaje para confirmar la finalización.
Msgbox "Libro de trabajo guardado y nuevo libro de trabajo semanal creado", VBInformation
Final
`` `` ``
Antes de correr:
1. Cambiar `" c:\ su \ file \ path \ "`: Absolutamente crucial Para reemplazar este marcador de posición con la ruta de carpeta real donde desea guardar sus archivos de Excel. Las rutas incorrectas conducirán a errores. Asegúrese de que exista la carpeta.
2. Open VBA Editor: En Excel, presione Alt + F11 para abrir el editor VBA.
3. Inserte un módulo: En el editor VBA, vaya a Insertar> Módulo.
4. Pegue el código: Pegue todo el código en el módulo.
5. Ejecute la macro: Regrese a Excel y ejecute la macro (es posible que deba asignarlo a un botón o ejecutarlo desde la pestaña de desarrollador> macros).
Cómo funciona:
* Guarda el libro de trabajo actual: El código primero guarda el libro de trabajo activo utilizando un nombre de archivo basado en la fecha de inicio de la semana actual (domingo).
* Crea un nuevo libro de trabajo: Luego agrega un nuevo libro de trabajo en blanco.
* nombra y guarda el nuevo libro de trabajo: El nuevo libro de trabajo se guarda con un nombre de archivo basado en la fecha de inicio de la semana * próxima *.
* Manejo de errores: El `` Error de errores Next` y las declaraciones de comprobación de errores evitan que la macro se bloquee si hay problemas para guardar archivos (por ejemplo, permisos insuficientes, ya existe un archivo). Proporciona mensajes de error informativos.
* Formato de archivo: `XlopenXMLWorkBook` garantiza la compatibilidad con las versiones de Excel modernas (.xlsx).
Recuerde hacer una copia de seguridad de sus datos regularmente, ya que los procesos automatizados a veces pueden encontrar problemas inesperados. Pruebe esta macro a fondo en un archivo de muestra antes de usarlo con datos importantes.