¿cómo utilizar una declaración de opción explícita en vba?
Puntos clave
- La opción Explícita requiere que usted declare todas las variables .
- Esta es una declaración que puede utilizar al inicio de un módulo .
- Puedes ingresarlo manualmente o habilitarlo desde las opciones.
- Debe utilizar la opción explícita solo una vez.
- También le ayuda a identificar errores tipográficos al utilizar variables.
¿Qué es la opción explícita de VBA?
Option Explicit es una declaración que puede usar al inicio de un módulo para obligarlo a declarar todas las variables. Cuando agrega esta declaración, VBA le muestra un error de compilación cuando ejecuta el código y también resalta la variable en el código que necesita declarar.
Cuando agrega una opción explícita al comienzo de un módulo, VBA agrega una línea separadora debajo y luego puede comenzar a escribir un procedimiento. Y cuando tienes la opción de declaración explícita y ejecutas un procedimiento, VBA comprueba si hay una variable no declarada y te muestra un mensaje de error.
Option Explicit Sub myMacro() a = 50 MsgBox a End Sub
Arriba está el mensaje que recibe cuando una variable no está declarada.
Habilitar la opción explícita en VBA
Para habilitar la declaración de opción explícita en un módulo, siga estos pasos.
- Primero, abra el Editor de Visual Basic y en el menú Herramientas, haga clic en Opciones.
- Después de eso, en las opciones, vaya a la pestaña del editor y marque la casilla «Requerir declaración de variable».
- Al final, haga clic en Aceptar.
- Una vez que haga esto, VBA agregará una opción explícita cada vez que agregue un nuevo módulo.
Pero no agrega esta declaración a su módulo existente, por lo que debe agregarlos manualmente a cada uno de los módulos existentes uno por uno.
¿Cómo agregarlo manualmente?
Como mencioné, la declaración Option Explicit debe aparecer antes del primer procedimiento del módulo (Sub o Función). Por lo tanto, debe agregar esta declaración encima del primer procedimiento (área de declaraciones generales) y asegurarse de agregarla solo una vez.
Si lo agregas dentro de un procedimiento o entre dos procedimientos, VBA te mostrará un error cuando intentes ejecutar cualquiera de los códigos del módulo.
Ejemplos (por qué utilizar la declaración explícita de opción es un buen hábito)
Permítame mostrarle un ejemplo para que comprenda por qué se recomienda encarecidamente la declaración Option Explicit. Mire el siguiente código.
Sub myMacro() Dim myText As String myText = "Puneet" MsgBox MyTxt End Sub
En este código, declaré una variable «myText» como una cadena y luego establecí el valor de esta variable. Y al final, utilicé un cuadro de mensaje que muestra el valor de la variable, pero si miras de cerca, escribí mal esta variable como «MyTxt» en lugar de «myText».
Ahora, cuando ejecuto este código , me muestra un cuadro de mensaje vacío.
Necesito tus 2 minutos para ayudarte a comprender el verdadero problema aquí. Cuando escribí mal el nombre de la variable, VBA lo toma como una variable separada y, como no uso la declaración de opción explícita, no me muestra un error.
Esta es la razón por la que el cuadro de mensaje utiliza la segunda variable (mal escrita) que no tiene ningún valor asignado. Ahora piensa por un segundo; Si escribe código largo y no utiliza declaraciones de opciones explícitas, será difícil rastrear este error hasta que vuelva a leer todo el código.
Pero con la opción de declaración explícita activada, cuando ejecuto este código aparece un error.
Option Explicit Sub myMacro() Dim myText As String myText = "Puneet" MsgBox MyTxt End Sub