Cuando tiene sentido utilizar Option Explicit - Consejos de Excel

Tabla de contenido

Parece que he causado algo de angustia a lo largo de los años debido a mi postura controvertida de que Option Explicit no es útil en VBA. Me acordé de esto recientemente cuando hice una sesión de Skype en Excel Weekend de Brasil. He escrito un libro sobre Excel VBA para QUE. Ese libro ha sido traducido al portugués para el mercado brasileño. Entonces, aparentemente, le he enseñado a la buena gente de Brasil sobre Excel VBA durante 15 años. Ahora que tengo 15 años más y soy más sabio, admitiré que puede haber buenas razones para usar Option Explicit.

En Notre Dame, tomé cursos de negocios con una gran concentración en programación. A través de un extraño conjunto de circunstancias, tomé todos los cursos de programación disponibles en ND de las escuelas de Ingeniería y Negocios. Aprendí Fortran, Pascal, Assembler y COBOL. Me encantaba programar. Esos cursos de programación rescataron mi GPA y evitaron que me expulsaran. En el pasado, nuestros profesores nos dijeron que teníamos que planificar nuestro programa y dibujar diagramas de flujo a mano antes de comenzar a codificar. Yo era un rebelde Primero escribiría el programa y luego dibujaría el diagrama de flujo después de terminar.

Pasé los primeros 18 meses de mi carrera escribiendo programas COBOL. Pero luego me transferí a Finanzas y pasé diez años trabajando en Finanzas y Contabilidad. Estaba haciendo principalmente trabajo de contabilidad, pero cuando necesitaba escribir código, sabía lo suficiente para escribir código.

Programé macros en Lotus 1-2-3 y luego comencé a escribir macros VBA después de que cambiamos a Excel en 1995. Todavía era rebelde en ese momento: declarar mis variables antes de tiempo parecía demasiado como dibujar un diagrama de flujo antes de escribir el código. Nunca soy de los que planean con anticipación. Sumérjase. Empiece a codificar. Si necesita una nueva variable en algún punto del camino, simplemente cree la variable.

Yo era un rebelde, primero escribía el código y luego dibujaba el diagrama de flujo. La declaración de variables, sostenía, es para programadores formales. Si está trabajando en contabilidad y simplemente está eliminando 20 líneas de código, no hay razón para declarar sus variables antes de tiempo.

Mi postura al respecto me ha llevado a entablar discusiones amistosas con otros expertos en Excel. Jordan Goldmeier. Bob Phillips. Cristiano Galvão.

En primer lugar, siempre he recomendado declarar sus Variables de objeto. En el siguiente código, WSD se declara como una hoja de trabajo y se asigna mediante el comando Establecer. Si declara la variable de objeto, puede examinar todas las propiedades y métodos escribiendo la variable seguida de un punto.

La declaración de variables de objeto conduce a este útil Autocompletar

Al no usar Option Explicit, corre el riesgo de errores ortográficos. En el siguiente código, se crea una variable llamada FinalRow. En la siguiente línea, probablemente quise hacer un bucle de 2 a FinalRow, pero escribí mal la variable como Fina1Row.

Hace décadas, las máquinas de escribir IBM Selectric omitieron la tecla 1 porque la gente escribía una L minúscula en su lugar.

Sin Option Explicit, es posible que alguien no se dé cuenta del error tipográfico. La variable FinalRow puede contener 100. Pero el código dentro del ciclo no se ejecutará porque la variable Fina1Row nunca se inicializó y contendrá un cero.

Para evitar la frustración de depurar el código con posibles errores de escritura, puede abrir Herramientas, Opciones en el menú VBA. Elija el cuadro Requerir declaración de variable que se muestra a continuación.

Para detectar errores tipográficos, marque esta casilla.

Todos los módulos futuros comenzarán con una línea que dice Option Explicit. Tendrá que agregar nuevas líneas en la parte superior de la macro que definen las variables FinalRow e i. Excel no le informará sobre el error ortográfico hasta que realmente intente ejecutar la macro. Luego le avisarán que la variable no está definida.

La palabra resaltada está mal escrita.

Entonces, es tu decisión. Si no le importa planificar con anticipación y declarar todas sus variables, la red de seguridad de VBA le informará si escribió una variable incorrectamente. Para mí, prefiero la emoción de depurar el código una línea a la vez y encontrar mis errores de escritura por mí mismo. Pero si no tiene ganas de vivir peligrosamente, no dude en habilitar Option Explicit.

No estoy realmente seguro si mis acciones involucraron los Pasos 5, 8 o 9 de los 12 pasos. Pero si alguien pasó más tiempo depurando su código debido a un error de escritura, lamento haberle causado ese dolor.

Todos los sábados, discutiré uno de mis malos hábitos en Excel y discutiré por qué tal vez debería hacer lo que digo en lugar de hacer lo que hago.

Pensamiento del día de Excel

Les he pedido a mis amigos de Excel Master sus consejos sobre Excel. Pensamiento de hoy para reflexionar:

"No cambie los desarrolladores de hojas de cálculo en medio de scrum".

Jordan Goldmeier

Articulos interesantes...