Macros personalizadas II

En este blog vamos a añadir unas funcionalidades más a las macros creadas en nuestro blog anterior, Macros personalizadas (I).

Recordemos que hemos creado una macro que nos permite, a partir de un balance de sumas y saldos importado desde cualquier software de contabilidad, darle un formato característico. Hemos creado una macro llamada FormatoBalances, hemos personalizado la cinta de opciones para que aparezca una pestaña más con todas nuestras macros, y tenemos el balance ya formateado a nuestro gusto, tal y como queremos.

visión preliminar balance formateado en post anterior (click para agrandar)

visión preliminar balance formateado en post anterior (click para agrandar)

Vamos en primer lugar a introducir dentro del código de la macro un mensaje para que aparezca al ejecutar la macro.

Nos vamos a la cinta de opciones Programador, pulsamos el botón de macros tal y como se detalla en la imagen siguiente:

blog3ppvt008

Ya dentro de Macro, seleccionamos la macro creada FormatoBalances y pulsamos Modificar.

blog3ppvt010

Acto seguido se nos abre el Visual Basic para Aplicaciones donde podremos apreciar el código de la macro seleccionada.

blog3ppvt011

Vamos a insertar al final del procedimiento un simple código:

MsgBox “El formato del Balance ha sido modificado satisfactoriamente”

End Sub

blog3ppvt012

Damos a grabar

blog3ppvt015

Y salimos del VBA pulsando a Archivo/Cerrar y volver a Microsoft Excel.

Hemos regresado a la pantalla de comienzo de este blog, Programador, donde hemos grabado un texto que aparecerá a la hora de ejecutar la macro.

Vamos a proceder ahora a asignarle un icono a esa macro.

Dentro de Programador, pulsamos el icono Insertar (aparecen unas herramientas), y dentro del menú contextual seleccionamos Control de formulario y el icono Botón, tal como se muestra en la imagen:

blog3ppvt018

Acto seguido nos aparece un cursor en el que podremos dibujar una forma para nuestro botón y asignarle la macro correspondiente FormatoBalances para que al hacer click sobre ella se nos ejecute.

blog3ppvt019

Basta pinchar sobre el botón para añadirle el nombre que deseamos.

Tenemos otra opción aún más sencilla y visualmente más atractiva, es insertar una determinada imagen y asignarle una macro.

Insertamos una imagen previamente creada dentro del menú Insertar, y la añadimos a nuestro Excel. Es una imagen que hemos retocado previamente para darle un formato de icono y que represente el efecto que se va a conseguir, que en este caso será el de formatear los bordes.

blog3ppvt023

Podemos modificar el tamaño de forma manual con el ratón, y posteriormente hacemos click en esa imagen con el botón derecho del ratón y seleccionamos asignar macro, seleccionando posteriormente la macro que deseamos asignar a la imagen.

blog3ppvt024Ya por último les insertamos el enlace a un excel (hacer click en macroejemplo debajo) donde podrán encontrar la macro comentada en estos dos blog  y realizar las pruebas oportunas sobre la misma. Se trata de un Excel con macros por lo que deben aceptar y confiar en su contenido (no contiene virus). Pueden utilizar este excel como plantilla para exportar a ella los balances de otras aplicaciones y darles el formato deseado, pero les animamos a que  la modifiquen a su gusto.

macroejemplo

 

Macros personalizadas I

Vamos a comentar en este blog una forma rápida y sencilla de personalizar balances a través de la creación de una macro, asignándole posteriormente un botón.

Es usual que en el trabajo de controllers o financieros se obtengan de los ERP´s o programas de contabilidad existentes Cuentas de Pérdidas y Ganancias o Balances de Sumas y Saldos en un formato determinado, que posteriormente exportamos a excel, y que luego personalizamos. Cuando tenemos resultados en grupos de empresas o por centros de negocio, o tenemos muchos clientes a los que enviar esta información (gestorías, consultores),  esta labor se eterniza, por lo que resulta muy práctico introducir macros.

Empecemos con un modelo estándar de un Balance de sumas y saldos, exportado a Excel desde un software de contabilidad (hacer click sobre la imagen para agrandar)

Balance importado de aplicación contable

Vemos que para nuestros reportes hay que hacer ajustes en ancho de columnas, asignar bordes al conjunto del balance, relleno en los encabezados de columna, ajustar el formato de número para que aparezcan decimales y el sombreado de totales. Y tenemos 8 empresas diferentes pendientes por enviar, además de diferentes centros de beneficios dentro de cada una de esas empresas.

Empecemos:

1. Dentro de excel vamos a la barra de herramientas de acceso rápido Programador.

Nos situamos en Programador

2. Pulsamos el icono de Grabar Macro, donde nos aparecerá el siguiente menú contextual:

blog2macros004

Denominamos a esta macro FormatoBalances, y lo describimos brevemente, guardándolo en este libro de excel (existe la posibilidad de guardarlo en nuestro libro de macros personal). Ahora damos a Aceptar y empezamos a grabar la macro.

3. Se mejora la rapidez del proceso si se graba la macro desde la celda origen del rango, para así facilitar la tarea de grabación de datos. Importante!, todas las acciones que realicemos se están grabando (ver como en la barra de herramientas se nos activa un rectángulo tipo “stop” para parar la macro), por lo que conviene tener una idea clara de qué pasos vamos a dar, que atajos de teclado utilizar para que se defina bien nuestro rango, y evitar así borrar la macro ya realizada.

blog2macros005

4.Desde la celda A1 (Campo Cuenta en nuestro ejemplo) pulsamos en este orden Control (CTR)+Mayúsculas+Cursor derecho (→)

Ya tenemos  seleccionados los encabezados de fila, procedemos a sombrearlos en gris con el color de relleno.

b

5. Sin mover el cursor y sin desmarcar el rango anterior pulsamos CTR+May+Cursor inferior (↓)

para tener todo el rango seleccionado, justo antes de la fila de totales del balance, y procedemos a asignar bordes en Inicio, Párrafo, Bordes

blog2macros007

A modo de sugerencia seleccionamos primero todos los bordes y luego bordes externos.

blog2macros008

6. Damos formato ya a las celdas que contienen número, añadiendo separadores de miles y dos decimales, y ampliamos el ancho de la columna Título para ver sin problemas la denominación de las cuentas, quedándonos el Balance como sigue.

blog2macros009

Nota: es importante seguir los métodos de teclado abreviado que he incluido anteriormente para que así la macro sea adaptable a posteriores balances que tengan más o menos longitud, si lo hacemos seleccionando las celdas con el ratón dará problemas.

7. Pulsamos el  STOP situando en el borde inferior izquierdo de la pantalla para parar la macro.

pulsamos STOP (el cuadrado) para parar la macro

pulsamos STOP (el cuadrado) para parar la macro

8. Volvemos a la barra de herramientas Programador, donde tendremos la macro FormatoBalances añadida dentro del icono de Macros

blog2macros010

blog2macros011

9. Ya podemos utilizar la macro todas las veces que queramos, simplemente colocándonos en la celda de inicio del rango y pulsando el icono de Macros y Ejecutar.

10. Vamos a personalizar  ahora la cinta de opciones de excel para añadir una ficha principal en la cinta de opciones, a través del menú Inicio / Opciones /personalizar cinta de opciones. Crearemos dentro de las fichas principales una nueva ficha (tal como se muestra en la imagen) llamada Macros, (la situaré justo después de la ficha Programador), y le añadiré el comando disponible(estamos en el desplegable izquierdo, Macros) Formato Balances.

blog2macros017

Ya tenemos añadido una cinta de opciones nueva, a la que acceder rápidamente, y dónde añadiremos todas las macros que vayamos creando. Podemos también agregar todas las macros a un libro de macros personal que podremos utilizar en cualquier libro de excel.

blog2macros018

En el próximo blog explicaremos como asociar un icono o una imagen a una macro para que al pulsarlo se ejecute.