Por lo general agregar una hoja a un libro de Excel
resulta bastante sencillo, basta con hacer clic en el botón insertar hoja de
calculo. Pero si tuvieras que agregar muchas hojas a un libro con un
determinado nombre para cada hoja, entonces te seria muy útil automatizar este
proceso.
Hoy quiero mostrarles como podemos hacer esto con una
macro sencilla pero muy útil. Cada vez que ejecutemos esta macro se insertara
en el libro de de Excel que la contenga una hoja de calculo que llevara como nombre
la fecha del sistema.
La macro funciona de la siguiente manera:
1. Captura
la fecha del sistema.
2. Valida
la fecha del sistema, contra el campo fecha de una hoja(X) del libro de Excel.
3. Si
la fecha del sistema es mayor al valor que tiene la hoja de calculo(X) en el
campo fecha, se inserta una nueva hoja de calculo que llevara como nombre la
fecha del sistema y actualizara el campo fecha de la hoja(X).
Hemos creado un libro de Excel llamado macro25 y en el
una hoja de cálculo con el nombre parámetros, esta hoja de calculo tiene un
campo que se llama fecha:
La posición A2 de la hoja de cálculo debe estar vacía la
primera vez que se ejecute la macro.
Ahora escribimos el código de nuestra macro, definimos
las siguientes variables globales:
La variable ws nos servirá para identificar la hoja de
cálculo activa, la variable fecha nos servirá para almacenar la fecha del
sistema.
Crearemos una rutina para capturar la fecha del sistema y
compararla contra el campo fecha (posición A2) de la hoja parámetros:
Analicemos la rutina fecha del sistema:
Primera
línea: se asigna a la variable ws la hoja parámetros, a partir
de ahora la hoja parámetros se
identifica como ws.
Segunda
línea: Encuentra la fecha del sistema año, mes y día. Los
convierte a string usando la función CSTR y los concatena, para asignarlos a la
varia fecha.
Tercera
línea: Valida si la variable fecha es mayor al campo fecha de
la hoja parámetros o si el campo fecha de la hoja parámetros esta vacio.
Cuarta
Línea: Si se cumple la condición de la tercera línea se invoca
la rutina Crear hoja, la que insertara la hoja de calculo en el libro de Excel.
Quinta
Línea: Asigna al campo fecha de la hoja parámetros la fecha
del sistema, esto si se cumple la condición de la tercera línea.
La segunda rutina inserta la hoja de cálculo en el libro,
veamos su código:
En esta rutina se definen las siguientes variables
locales:
Ws_nueva que nos permitirá identificar la hoja de cálculo
activa, nombre que almacenara el nombre de la hoja de cálculo activa.
En
la primera línea: Después de definir las variables se agrega
una hoja de calculo al libro de Excel.
En
la segunda línea: se le asigna a la variable ws_nueva la hoja
de cálculo activa.
En
la tercera línea: Se le asigna a la variable nombre el nombre
de la hoja de calculo insertada.
En
la cuarta línea: Se agregan comillas al principio y al final
del nombre de la hoja de calculo que se acaba de insertar, es necesario
insertar la comillas para poder ejecutar la instrucción de la sexta línea.
En
la quinta línea: se asigna a la variable nombre fecha la
fecha del sistema.
En
la sexta línea: Se cambia el nombre la hoja insertada y se
asigna como nombre la fecha del sistema.
Para que se ejecute la macro cada vez que abrimos el
libro agregamos las siguientes instrucciones:
Ahora hacemos clic en guardar, cerramos nuestro libro de
Excel.
Hoy es 11 de septiembre de 2016.
Si abro nuevamente el libro de Excel vemos lo siguiente:
Se inserto una hoja de cálculo con el nombre 20160911, el
campo fecha de la hoja de cálculo queda con la fecha del sistema:
Si actualizo la fecha del sistema con el día 12 de
septiembre:
Abrimos nuevamente e libro de Excel y vemos que se creo
una nueva hoja de cálculo con el nombre 20160912:
El campo fecha de la hoja parámetros se actualiza:
Descarga el archivo con la macro desde este enlace.
Espero que esta macro te sea util , si necesitas automatizar tus procesos en excel escribeme a macrosymacros1@gmail.com.
En este enlace encontraras una colección de macros como esta , completamente explicadas.