Cómo declarar constantes de VBA en Excel

Tabla de contenido:

Anonim

El valor de Pi es 3,14, la atracción gravitacional de la Tierra es 9,8 m / s2, tiene interés en VBA, etc. Todas estas son constantes y no cambian.

En VBA puede definir variables cuyo valor no se puede cambiar en el programa. El programador de VBA define estos valores constantes por sí mismos en el programa para usarlos una y otra vez.

¿Cómo definir un valor constante en VBA?

Usamos la palabra clave Constpara declarar una constante en VBA.

La sintaxis de declarar una variable constante en VBA es:

[] Const como = 

[]: El especificador de alcance es opcional. Usted especifica el alcance de la constante (pública o privada) si lo desea; de lo contrario, no la declare. De forma predeterminada, el ámbito de una constante es privado. Puede leer sobre los especificadores de alcance aquí.

Nota: Nunca usamos la palabra clave Dim para declarar una constante en VBA.

: Es el nombre de la variable constante.

: El tipo de constante. Por ejemplo, entero, cadena, fecha, etc.

: El valor de la variable constante.

Un ejemplo simple de la variable constante es:

Const Pi como doble = 3,14

Aquí declaramos el valor constante de pi en una variable llamadaPi. Ahora podemos usar esto Pien nuestro programa. El valor siempre será 3,14. Si intenta cambiar el valor de una variable constante, Excel VBA mostrará un mensaje de error.

Ejemplos de variables constantes de VBA

Estudie el siguiente código:

Const pi As Double = 3.14 Const rad As Double = 6371  Sub Earth () sArea = 4 * pi * Sqr (rad) Debug.Print sArea End Sub Sub Mars () rad = 3389.5 sArea = 4 * pi * Sqr (rad) Debug.Print sArea End Sub 

Aquí, hemos definido dos constantes, pi y rad. El valor de pi es 3,14 y el rad es 6371, que es el radio de la Tierra.

Ahora, cuando ejecutamos el primer submarino de la Tierra, funciona perfectamente bien e imprime el área de la superficie de la Tierra.

En el siguiente sub-Marte, redefinimos el rad constante ya que el radio de Marte es diferente. Cuando ejecutamos este programa, arroja un error que dice "No se permite la asignación a constante".

Cómo reinicializar una constante en VBA

Como ha visto en el ejemplo anterior, no podemos asignar nuevos valores a una constante. Si, tú no puedes.

Pero si aún necesita usar el mismo nombre que un valor fijo diferente, simplemente use el Constpalabra clave antes de la tarea.

El siguiente código funcionará perfectamente.

Const pi As Double = 3.14 Const rad As Double = 6371 Sub Earth () sArea = 4 * pi * Sqr (rad) Debug.Print sArea End Sub Sub Mars () Const rad = 3389.5 sArea = 4 * pi * Sqr (rad) Debug.Print sArea End Sub 

La subrutina anterior funcionará perfectamente sin errores. Pero no recomiendo este enfoque. La mejor forma es identificar las constantes públicas y privadas y definirlas por separado. Y esto nos lleva a nuestro próximo segmento.

Constantes públicas y privadas en VBA

Como aprendimos en los ejemplos anteriores, algunas constantes pueden ser universales y algunas pueden diferir para diferentes objetos. Por ejemplo, el valor pi es constante para todo el universo, pero el número de planetas de un sistema solar a otro y el radio de los planetas varía de un planeta a otro.

Como el radio de la Tierra es constante para ella, no para el universo. De manera similar, en los programas, habrá algunas constantes que serán privadas para los sub y los módulos y algunas serán constantes públicas para todo el proyecto VBA. Tu trabajo es identificarlos y declararlos de manera diferente.

Tomemos otro ejemplo:

Public Const pi As Double = 3.14 'Se puede acceder desde cualquier módulo del proyecto Private Const planets As Integer = 8' esto es privado para este módulo Sub Earth () Const rad As Double = 6371 'Privado para esta subrutina. No se puede acceder fuera de sArea = 4 * pi * Sqr (rad) Debug.Print sArea End Sub Sub Mars () Const rad As Double = 3389.5 'Privado para esta subrutina. No se puede acceder fuera de sArea = 4 * pi * Sqr (rad) Debug.Print sArea End Sub 

Esta es una simple especificación de alcance variable. Puede leer sobre la configuración del alcance variable aquí en detalle.

Así que sí, chicos, así es como declaran y usan constantes en Excel VBA. Traté de explicarlo de una manera creativa. Espero haber sido lo suficientemente explicativo. Si tiene alguna duda, pregunte en la sección de comentarios a continuación. Estaré encantado de escucharte y responderte.

Alcance variable de Excel VBA | tenemos especificadores de acceso a variables que definen desde dónde se puede acceder a una variable definida. Excel VBA no es una excepción. VBA también tiene especificadores de alcance. Estos especificadores de alcance se pueden usar para establecer la visibilidad / alcance de una variable en Excel VBA.

Argumentos ByRef y ByVal | Cuando se pasa un argumento como argumento ByRef a una función o sub diferente, se envía la referencia de la variable real. Cualquier cambio realizado en la copia de la variable se reflejará en el argumento original.

Elimine hojas sin mensajes de confirmación usando VBA en Microsoft Excel | Dado que está eliminando hojas usando VBA, sabe lo que está haciendo. Le gustaría decirle a Excel que no muestre esta advertencia y elimine la maldita hoja.

Agregar y guardar un nuevo libro de trabajo usando VBA en Microsoft Excel 2016 | En este código, primero creamos una referencia a un objeto de libro de trabajo. Y luego lo inicializamos con un nuevo objeto de libro de trabajo. El beneficio de este enfoque es que puede realizar operaciones en este nuevo libro de trabajo fácilmente. Como guardar, cerrar, borrar, etc.

Mostrar un mensaje en la barra de estado de Excel VBA La barra de estado en Excel se puede utilizar como un monitor de código. Cuando su código VBA es extenso y realiza varias tareas usando VBA, a menudo deshabilita la actualización de la pantalla para que no vea que la pantalla parpadea

Desactive los mensajes de advertencia con VBA en Microsoft Excel 2016 | Este código no solo deshabilita las alertas de VBA, sino que también aumenta la eficiencia de tiempo del código. Veamos cómo.

Articulos populares:

50 accesos directos de Excel para aumentar su productividad | Acelera tu tarea. Estos 50 accesos directos le permitirán trabajar aún más rápido en Excel.

La función BUSCARV en Excel | Esta es una de las funciones más utilizadas y populares de Excel que se utiliza para buscar valores de diferentes rangos y hojas.

CONTAR.SI en Excel 2016 | Cuente valores con condiciones usando esta asombrosa función. No necesita filtrar sus datos para contar un valor específico. La función Countif es esencial para preparar su tablero.

Cómo usar la función SUMIF en Excel | Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas.