miércoles, enero 21, 2009

Notas de Excel y VBA (Visual Basic for Applications)

Introducción

Llevo bastante tiempo que por motivos de trabajo tengo que hacer macros de Excel cada cierto tiempo para tratar la información contenida en las hojas de cálculo. Aunque el Visual Basic1 no es muy santo de mi devoción,he decido crear un post donde voy a ir recogiendo referencias, trozos de código o trucos cuando se usa Visual Basic para aplicaciones con el Excel, para tenernlo como futura referencia Iré diviendo el post en función del tamaño que tenga, para que sea manejable. Mi idea es ir poniendo pequeñas descripciones de lo que quiero hacer y la manera de hacerlo. Esto no pretende ser un curso de VBA para Excel, sino simplemente una referencia. En la medida de lo posible, lo probaré en Excel 2003 que es el que utilizo en el trabajo y Excel 2004 para Mac.

Evitar el parpadeo cuando se modifica desde una macro una hoja de cálculo

A veces desde una macro estamos recorriendo parte de las hojas de cálculo y vamos modificando los datos de acuerdo con nuestros quiterios. Podemos ver un molesto parpadeo conforme se van modificando las celdas. Hay una manera muy sencilla de evitarlo, y consiste en modificar un flag del objeto Application:
Application.ScreenUpdating = False
...
Application.ScreenUpdating = True
El código que se ejecuta entre esas dos instrucciones no actualiza la pantalla, ganando velocidad y evitando el molesto parpadeo que puede producirse.

Referencias

  1. Como encontrar la documentación sobre los modelos de objetos de Excel

Notas

1 Reconozco que si tuviera un poco más de tiempo y estuviera mejor integrado, usaría el Python como lenguaje de script para procesar la información. Aunque es posible su uso a través de las interfaces COM que exporta Excel, resulta muy engorroso.

Technorati Tags: ,

No hay comentarios: