Hacer unas macros a prueba de Zarpas

Durante una temporada estuve haciendo una serie de archivos de Excel (pomposamente lo llamábamos programas) que usaba un montón de gente diferente. Algunos tenían un gran conocimiento sobre Excel, otros menos, pero ninguno de VBA.

Lo que aprendí durante aquellos días es que hay que hacer un programa robusto, a prueba de “zarpas”.

En este sentido hay dos máximas que a mi me gustan especialmente:

  • La sencillez es virtud.
  • Siempre hay alguien que encuentra el error que no contemplaste (sisi, era ridículo e imposible que alguien intentara esa combinación pero lo consiguió).

Aquí tenéis unas pocas normas que os pueden servir para evitar errores y problemas.

1. Los Msgbox son buenos, pueden ayudar mucho a dar instrucciones. Úsalos sin abusar para indicar al usuario lo que debe o NO debe hacer.

  • Ejemplo: cuando una macro tarda unos pocos segundos en correr es bueno que indiques esto mismo para que la persona que lo usa no piense que ya se ha roto el “cacharrito”.

2. Si hay muchas macros, que haya muchos botones no es bueno, es mejor que vayan apareciendo poco a poco.

  • Ejemplo: Un programa con muchas alternativas puede ser un poco caótico. Quizás sea mejor crear unos botones para moverse entre hojas o partes diferentes de la hoja.
  • Ejemplo2: Puedes numerar los botones (además de darles un nombre) y colocarlos en el orden racional en el que deberían usarse. Esto, parece una tontería, pero al que nunca ha abierto tú programa le será de gran utilidad.

3. Ser metodológico con el código que creas. Mejor probar cuarenta veces con tranquilidad en tú ordenador todas las posibilidades que resolver 20 veces el mismo error (crea la famosa insatisfacción del usuario y tú buena fama bajará mucho más rápido de lo que subió).

4. Pasar el “programita” a alguien para que “trastee” con la orden de intentar romperlo (funciona siempre!).

  • Ejemplo: El compañero de trabajo que le gusta mucho trastear con programas.

5. Comprobar que el resto de los usuarios usarán la misma versión de Excel que tú. Si no es así, te recomiendo que pruebes en ésa versión si tú “programita” funciona correctamente.

6. Usar algún método de Error Handler en tus macros. Explico algunos

  • On Error Resume Next: Colocado al principio del código. Indica que no se pare la macro si ocurre algún error, simplemente los ignora.
  • On Error Goto FinPrograma, y al final del programa ponemos: FinPrograma: (no olvides los dos puntos finales). Podemos acompañarlo con un Msgbox que diga que ha ocurrido un problema. Puede ser especialmente útil que demos mensajes diferentes en función del número del problema (esto se averigua con err.number).
  • Puede ser útil también utilizar algo muy similar a lo anterior combinado con Exit Sub. Esto hace que al ocurrir un error vayamos a la etiqueta FinPrograma: y el siguiente paso sea Exit Sub para terminar directamente la ejecución.
(Visited 865 times, 1 visits today)
Categorías VBA

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información ACEPTAR

Aviso de cookies