jueves, 28 de agosto de 2014

Artículo: Grabar, Ejecutar, Eliminar y Modificar Macros en Excel 2013.

Resultado de Ejecutar la Macro
Resultado de Ejecutar la Macro.
En el artículo anterior dedicado a las macros, nos paramos justo en el momento antes de empezar la grabación de una Macro. Sobre todo, lo dediqué a explicar muchas de las opciones y pasos previos que hay que conocer antes de empezar con la grabación. En este artículo vamos a continuar desde ese punto, grabaremos una pequeña macro de ejemplo y finalizaremos el artículo ejecutándola. En concreto veremos dos de las posibilidades que tenemos para ejecutar macros, en artículos posteriores veremos el resto. A la vez que ejecutamos la macro que vamos a crear también os hablaré de cómo modificar y eliminar macros.

Lo primero que hay que tener claro a la hora de grabar una macro, son los pasos que queremos grabar. Si os confundís durante la grabación, las equivocaciones también se grabarán y la macro seguramente no hará su trabajo, o hará trabajo de más que no debería hacer. Para este artículo vamos a crear algo muy sencillo, vamos a grabar una macro que asignará en unas celdas los días de la semana y posteriormente dará a esas celdas un formato que ahora os comentaré. Los días se van a crear en las celdas que van de la A1 a la G1, siempre en esas celdas. Vamos a imaginar que estos pasos los repetimos habitualmente y queremos tenerlos automatizados para que no nos quiten mucho tiempo de trabajo.

Resultado Final de la Ejecución de la Macro
Resultado Final de la Ejecución de la Macro.

Vamos con la macro. Cuando grabéis una macro, os aconsejo que practiquéis antes los pasos que vais a grabar. Si la macro es muy compleja, conviene que lo hagáis varias veces e incluso que los apuntéis en un papel a modo de guion, para no confundiros. Como aquí no hay diferencia entre que practiquemos o grabemos, vamos a empezar directamente con la grabación. Por lo tanto, creamos un documento nuevo en Excel y en la ficha "Desarrollador" pulsamos el botón para empezar la grabación de la macro, para que aparezca la "Grabadora de Macros".

Botón para empezar a Grabar la Macro
Botón para empezar a Grabar la Macro.

En las opciones iniciales de la macro le vamos a indicar que la macro se llamará "CrearSemana" y que se guardará en el documento actual, en ese libro. Como atajo de teclado o método abreviado le vamos a indicar las teclas Ctrl + Mayúsuculas + S. Recordad que en artículo anterior os aconsejé utilizar la tecla Mayúsculas en los atajos de teclado, para evitar malentendidos con los atajos de teclado de Excel. En la descripción podéis escribir lo que queráis, como la macro no es muy importante tampoco es fundamental que lo hagamos. Lo habitual ya sabéis que es escribir una pequeña descripción de que hace la macro.

Opciones Iniciales de la Macro
Opciones Iniciales de la Macro.

Bueno pues ahora, desde el momento en el que aceptemos, todo lo que hagamos se irá grabando y formará parte de la macro. Vamos a realizar los siguientes pasos, hacer todos lo mismo que yo.
  1. Seleccionamos la celda A1, escribimos en ella el texto "Lunes" y confirmamos el contenido de la celda pulsando la tecla "Intro".
  2. Primer Paso de la Macro.
  3. A continuación seleccionamos la celda A1 otra vez y una vez seleccionada, hacemos clic en el cuadrito situado en la parte inferior derecha de la celda... Y sin soltar, arrastramos hasta llegar a la celda G1, hasta que aparezca el "Domingo".
  4. Arrastramos el contenido de la celda A1 hasta que aparezca el Domingo en la G1
    Arrastramos el contenido de la celda A1 hasta que aparezca el Domingo en la G1.
  5. Ahora, sin quitar la selección de celdas que se ha quedado después de arrastrar... Aplicamos en esas celdas los formatos que os he indicado: Centrado, Negrita, Color de Fondo Negro y Color de Fondo Blanco. Accedemos a la ficha "Inicio" y los aplicamos.
  6. Aplicamos los formatos a las celdas seleccionadas
    Aplicamos los formatos a las celdas seleccionadas.
  7. Por último, como vamos a empezar a escribir justo debajo del "Lunes", seleccionamos la celda A2 para que al finalizar la macro estemos ya situados en esa celda.
  8. Seleccionamos la celda A2
    Seleccionamos la celda A2.

Bueno, pues ya están todos los pasos que queríamos grabar, ahora debemos detener la grabación de la macro, en la ficha "Desarrollador" pulsamos el botón "Detener Grabación". Es el mismo que servía para empezar la grabación, solo que ahora nos permite pararla.

Detenemos la Grabación de la Macro
Detenemos la Grabación de la Macro.

lunes, 25 de agosto de 2014

Vídeo: Personalizar la Interface de Usuario y la Ribbon de Excel con XML y VBA, Conceptos Básicos.



Al crear Macros o código VBA en Excel siempre buscamos la manera más cómoda y rápida de ejecutar el código que hemos desarrollado. Habitualmente se suelen utilizar controles ActiveX integrados en las hojas para conseguirlo, pero en mi opinión tenemos otra opción mucho mejor. Personalizando la Interface de Usuario de Excel, podemos conseguir que los documentos que creamos se adapten mejor a nuestras necesidades y que las herramientas que desarrollamos con VBA queden perfectamente integradas hasta el punto de parecer herramientas propias de Excel. En concreto personalizando la Cinta de Opciones o Ribbon, podemos conseguir un resultado mucho más satisfactorio a la hora de ejecutar las macros que desarrollemos, que con los típicos controles ActiveX que os acabo de comentar. Con controles ActiveX me refiero a los típicos botones, cuadros combinados, etc... Que se suelen insertar en las hojas.

En esta serie de vídeos que comienzo hoy os voy a explicar cómo personalizar la Interface de Excel, sobre todo la Ribbon para conseguir crear documentos mucho más usables y adaptados a lo que necesitamos. Veremos cómo crear nuevas fichas, grupos de botones, botones, cuadros combinados, cuadros combinados con imágenes, cómo activar o desactivar controles en la Ribbon según nuestras necesidades... En definitiva sobre todo vamos a intentar tener un control total sobre la Cinta de Opciones y otros elementos que componen la Interface de Usuario de Excel.

Personalización de una Cinta de Opciones
Personalización de una Cinta de Opciones.

Para conseguirlo vamos a crear personalizaciones utilizando el lenguaje XML y el código VBA de Excel, todo el trabajo que vamos a desarrollar lo vamos a realizar desde el punto de vista de la programación. Para crear el código XML necesario para las personalizaciones vamos a utilizar un programa libre, completamente gratis, llamado "Custom UI Editor", en el siguiente enlace lo podéis descargar.


No os cuento nada más, si os gustan los temas avanzados de Excel os aconsejo que no os perdáis esta serie de vídeos porque abren todo un mundo de posibilidades para integrar mucho mejor nuestros desarrollos en los documentos de Excel. En este vídeo se tocan los mismos temas que en el artículo que publiqué hace unos días, "Conceptos previos para personalizar la Cinta de Opciones o Ribbon de Excel con XML y VBA", pero como sabéis yo soy más partidarios de los vídeos y aquí tenéis el correspondiente a ese artículo.

jueves, 14 de agosto de 2014

Opciones y Pasos Previos a la Grabación de una Macro en Excel 2013.


Ficha Desarrollador en Excel 2013
Ficha Desarrollador en Excel 2013
Antes de realizar algunas macros de ejemplo, en este artículo os voy a explicar los pasos previos que hay que seguir para empezar a grabar una macro. Entre otras cosas os voy a explicar cómo mostrar todas las herramientas relacionadas con las "Macros". Y también veremos qué información y opciones iniciales hay que indicar antes de empezar la grabación de una macro.

Lo primero que hay que hacer es mostrar la ficha "Desarrollador" en la "Cinta de Opciones" de Excel 2013, que por defecto está siempre oculta. En ella tenemos disponibles todas las herramientas que nos van a permitir crear Macros y código VBA. Se pueden crear macros sin tener visible esta ficha, se puede utilizar el botón situado en la "Barra de estado" para iniciar la grabación de macros, en la siguiente imagen lo podéis ver. Cuando empecéis a grabar una macro con él, se convertirá en el botón para detener la grabación de la macro. Pero como os digo, es mejor que os acostumbréis a tener visible la ficha "Desarrollador".

Botón para iniciar la grabación de una macro desde la barra de estado
Botón para iniciar la grabación de una macro desde la barra de estado.

Para mostrar la ficha "Desarrollador" debemos acceder a la personalización de la "Cinta de Opciones". Podemos hacer clic con el botón secundario del ratón sobre la cinta y seleccionar la opción "Personalizar la cinta de opciones".

Accedemos a las opciones de la Cinta de Opciones
Accedemos a las opciones de la Cinta de Opciones.

Una vez seleccionada esa opción, aparecerá una ventana donde podemos activar la casilla de verificación que nos permitirá mostrar la ficha. Está en la lista de la derecha y por defecto siempre está desactivada. La activamos y a continuación aceptamos para que aparezca la ficha, en la "Cinta de Opciones".

Activar la ficha Desarrollador
Activar la ficha Desarrollador.

Cuando la tengamos visible, accedemos a ella y para empezar a grabar una macro nos debemos fijar en el botón "Grabar macro" del grupo "Código". En ese grupo de botones tenemos las opciones más importantes para crear macros y código VBA.

Botón para iniciar la grabación de una macro
Botón para iniciar la grabación de la macro.

Al hacer clic en el botón "Grabar macro", aparecerá una ventana en la que debemos indicar algo de información inicial sobre la macro que vamos a crear. En este punto todavía no hemos empezado a grabar la macro, sólo cuando pulsemos el botón "Aceptar", empezará la grabación.

Opciones iniciales de una Macro
Opciones iniciales de una Macro.

Lo primeo que debemos indicar es el nombre de la macro. El nombre es muy importante ya que es lo que identificará a la macro que queremos ejecutar entre todas las que tengamos disponibles. Para ser válidos los nombres deben cumplir unos criterios que si no se cumplen, no permitirán iniciar la grabación de la macro:


  • El Nombre siempre debe empezar con una letra, el primer carácter del nombre debe ser una letra.
  • A partir del segundo carácter se pueden utilizar letras, números y el guion de subrayado. Todo lo demás está prohibido. 
  • Una vez comentado lo anterior, obviamente los espacios están prohibidos. Todo lo que se os pueda ocurrir fuera de letras, números y guiones de subrayado... prohibido.
  • Debéis evitar nombrar a las macros con nombres que tengan otros objetos del documento en el que estáis trabajando. Por ejemplo no podéis utilizar nombres de celdas que hayáis creado en las hojas. Imaginaros que habéis llamado a una celda Iva, bueno pues no deberíais llamar a una macro de la misma manera.

Mensaje de error al usar un nombre de macro que no es correcto
Mensaje de error al usar un nombre de macro que no es correcto.