Mostrando entradas con la etiqueta Hoja de calculo. Mostrar todas las entradas
Mostrando entradas con la etiqueta Hoja de calculo. Mostrar todas las entradas

sábado, 17 de septiembre de 2016

MACRO PARA AGREGAR HOJAS A UN LIBRO DE EXCEL

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.










miércoles, 14 de octubre de 2015

MACRO PARA ADICIONAR UN MENU EN EXCEL

Ocasionalmente tendremos la necesidad de agregar menús en la hoja de cálculo,  VBA para Excel nos permite agregar menús y ejecutar con el uso de estos las macros que hemos creado previamente.

El código siguiente ejemplifica como adicionar un menú:



Como se puede ver el código anterior se invoca la rutina “Dalete_Menu”, esta nos permitirá borrar el menú cada vez que se ejecute la macro, con el fin que no se agregue nuevamente un menú que ya existe. Este el código de la rutina “Delete_Menu”:


Así se verá el menú después de ejecutar la macro:


Si quieres aprender más acerca de macros y programación en VBA visita el curso online de excel donde podrás aprender sobre temas como este y mucho más.

Puedes descargar el documento excel con la macro en este enlace.

En mi ebook Macrosymacros encontraras una colección de macros, que te serán muy útiles  en tus procesos de automatización de hojas de calculo, puedes encontrarlo aquí.

Espero que esta macro te sea útil, por favor deja tus comentarios , si necesitas automatizar tus procesos en excel escríbeme a macrosymacros1@gmail.com.

sábado, 12 de septiembre de 2015

MACRO PARA BLOQUEAR UN RANGO DE CELDAS EN EXCEL

Este es un código muy sencillo pero a la vez muy útil pues nos permite bloquear la celda o el rango de celdas que necesitemos en una hoja de cálculo. En esta ocasión utilice un formulario en el cual el usuario de la macro indica cuales celdas quiere bloquear.

Voy a mostrar paso a paso como construí la macro:


         Diseñamos nuestro formulario. Para esto insertamos un USERFORM en nuestra macro



Modificamos la propiedad caption de nuestro formulario


Agregamos dos controles label al formulario y para cada control label un control textbox


Finalmente agregamos un botón que nos permitirá accionar la protección del rango de celdas seleccionadas


 Agregamos el siguiente código a el botón (proteger Celdas) de nuestro formulario.

Este código realiza dos cosas:

1. Define una variable que guarda el rango que se desea proteger.
2.  Invoca una rutina que protege las celdas seleccionadas pasando como parámetro el rango y una referencia de nuestro formulario.

         Rutina que protege las celdas. 


Esta rutina hace lo siguiente:

a.       Recibe como parámetro el rango a proteger y el formulario definido inicialmente.
b.      Define una variable que representa la hoja de cálculo.
c.       Asigna la hoja de cálculo a la variable que representa la misma.
d.      Desprotege la hoja de calculo
e.      Desbloquea todas las celdas de la hoja de calculo
f.        Bloquea las celdas que comprenden el rango definido por el usuario
g.       Protege la hoja de calculo
h.      Oculta el formulario.


Ahora ejecutamos nuestra macro. Seleccionamos el rango A1:B1 y  Hacemos clic en proteger celdas



Si intentamos escribir la celda A1 o B1 Excel muestra el siguiente mensaje


Aprenda Excel  desde cero con nuestro curso online, el curso de Excel se encuentra dividido en tres niveles:

Nivel Básico: Diseñado para las personas que no tienen ningún conocimiento en Excel aprenderá a crear planillas formulas gráficos.

Nivel Intermedio: Diseñado para aquellos que tienen los conocimientos básicos de Excel, entre otras cosas aprenderá  a crear semáforos, tableros comandos, tableros de función etc.

Nivel avanzado: aprenderá funciones muy poderosas de Excel que lo impulsaran en su vida laboral, tablas dinámicas, solver , buscar objetivos.

Los beneficios que obtendrá con respecto a un curso presencial de excel son varios:

El curso está disponible las 24 horas, podrá ingresar a la hora que quiera es decir no estará limitado por horarios.

Se inscribe en el curso una vez y estará disponible para usted  de por vida.

No hay mensualidades, paga una  vez y tiene acceso al curso de por vida además de manuales y libros de Excel.

Para mayor información sobre el curso de Excel online haga clic aquí.

En mi ebook Macrosymacros encontraras una colección de macros, que te serán muy útiles  en tus procesos de automatización de hojas de calculo, puedes encontrarlo aquí.

Si necesitas automatizar tus procesos en excel escríbeme a macrosymacros1@gmail.com.

      











domingo, 6 de septiembre de 2015

¿ COMO ENVIAR CORREOS ELECTRONICOS USANDO MACROS ?

En el post anterior vimos como recorrer una hoja de cálculo y agregar sus datos a una base de datos acces. Ahora le agregaremos a ese código una rutina que envía correos electrónicos usando Outlook.

Para este ejemplo usaremos la misma hoja de cálculo que en el post anterior, solo agregamos dos celdas una con el asunto y otra con el mensaje que enviaremos


Antes de mostrarles el código, debemos tener en cuenta que nuestra macro realiza cuatro tareas:
1.       Se conecta con acces.
2.       Recorre la hoja de cáculo
3.       Inserta los datos en acces utilizando una instrucción sql.
4.       Envía correos electrónicos usando Outlook a los destinatarios relacionados en la hoja de cálculo.

Para que el código funcione correctamente debes agregar la siguiente referencia en tu libro de Excel


Este es el código




Como resultado de la ejecución del código, podemos apreciar la lista de correo enviados en Outlook


Espero que te sea de utilidad, por favor deja tus comentarios. Si quiere aprender mas sobre excel y macros puedes ver el curso online de excel.