“Conocimiento software>

¿Cómo puede crear una macro en Excel que ahorra el libro de trabajo de ingresos y luego crea nuevo cada semana?

2015/8/15
Esta Macro VBA guardará el libro de trabajo actual y luego creará un nuevo libro de trabajo con un nombre de archivo basado en la fecha para la nueva semana. Maneja posibles errores con gracia.

`` `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.

¿Cómo se inserta un descanso de página en su hoja de trabajo en Excel?
¿Cuáles son las partes y la función de la barra de herramientas de formato en Microsoft Excel?
Por defecto, ¿dónde alinea los valores de Excel?
¿Cómo creo una tabla desde la gama seleccionada de celdas en Microsoft Excel?
¿Qué herramienta en Excel 2013 debería usar si conoce la respuesta correcta pero ingresa el valor que necesita para llegar allí?
¿Cuando la columna no es lo suficientemente ancha como para mostrar un número de Microsoft Excel?
¿Cómo se procesa una lista de victorias y derrotas que equivale a 1 0? Para encontrar el total, utilicé Suma B2, dos puntos, B20, ¿cómo contaría Excel cuáles son 0?
¿Qué términos describen el texto explicativo adjunto a una celda en una hoja de Excel?
Más categorías
    没有任何同级栏目
Conocimiento de la computadora © http://www.ordenador.online