Lista incompleta de tips para programar macros en Excel
La programación de macros, es una de las tareas más interesantes que he conocido. El lenguaje de programación de las macros, vba, es tan intenso y flexible como otros lenguajes, y por lo tanto, los consejos de buena programación no quedan excluidos de él
Al momento de crear nuestras macros, debemos tener una serie de puntos importantes, si lo que queremos es que salga perfecto y los únicos errores que arroje, sean lo que nosotros mismo prevenimos:
-
Primeramente se define si se solicitarán datos al usuario final, y en qué manera serán, medianto un formulario, mediante un cuando con opción SI / NO.
-
Nuestras variables deben estar correctamente definidas, con su tipo correcto, para no gastar memoria innecesariamente.
-
Si se harán muchos movimiento de datos y hojas, es recomendable la instrucción Application.ScreenUpdating = False, ya que permite detener la actualización de la pantalla y ahorrar unos KB de memoria.
-
También se sugiere, depende la macro, desactivar el cálculo automático de las hojas, para eficientar mejor los cálculos de la macro. La instrucción es Application.Calculation = xlCalculationManual.
-
Procura utilizar lo menos posible la función GoTo, de ser posible sólo utilizarla cuando deseamos que se ejecute un mensaje o cierto código si la macro detecta un error. Se hace con: On Error GoTo Etiqueta.
-
Tratar de preveer todos los errores posibles, para que los errores aparezcan en un mensaje personalizado nuestro y no en el clásico diálogo de vba.
-
Si la macro realizará varios procesos, auxíliate del texto de la barra de estado, para que el usuario sepa que se está ejecutando. Así: Application.StatusBar = "Ejecutando …".
-
Procura que tus MsgBox’s sean claros y preferentemente que utilicen el ícono correcto, así como un título que describa la acción que se realizó.
-
Si las macros vendrán en un add-in, realiza una rutina que te detecte archivos abierto y no se ejecuta si no encuentra ninguno.
-
Haz uso de eventos de manera correcta.
-
Sin necesidad de reinventar la rueda, haz uso de los cuadros de diálogo propio de Excel. Con Application.Dialogs (Diálogo).
Como te habrás dado cuenta, la lista puede ser muy amplia. La comparto en base a mi experiencia, por lo tanto está expuesta a muchos cambios y sugerencias.
Feliz programación !!