Constantes de VBA en Excel

Puede haber situaciones en las que desee declarar un número en su programa que nunca desee cambiar. En otras situaciones, como si hubiera usado el nombre de una persona muchas veces en su programa y quisiera cambiar ese nombre, esta tarea asignada podría ser agitada si cambia el nombre de esa persona en cada posición que haya usado en su programa. programa, pero, si conoce las constantes, esta tarea podría completarse en segundos con la ayuda de las constantes. En este artículo, aprenderá a usar constantes en Excel VBA.

Constantes en VBA

Constante es una etiqueta conveniente para la cual el valor no cambia. Muchas veces te has encontrado con las constantes en VBA sin saberlo. Una gran diferencia entre una variable y una constante es que no se puede reasignar el valor de una constante. Por ejemplo, si desea cambiar el color de la celda para leer, puede usar VbRed en su macro VBA.

Usando constantes en tu código

  1. Las constantes ayudan a escribir código defensivo para que no se pueda cambiar el valor de esa constante en el futuro. Considere una situación en la que ha creado un módulo que declara todas las constantes y lo protege con contraseña. El alcance de las constantes es el nivel del libro de trabajo. Otra persona que trabaje en algún otro módulo no puede acceder a las constantes, por lo que no cambia su valor.
  2. La creación de constantes hace que el código sea más legible. Por ejemplo, es posible que todas las personas no sepan cuánto es 9,8 hasta que se mencione su valor de aceleración debido a la gravedad.
  3. Las constantes le ahorran tiempo. Considere una situación en la que ha utilizado el nombre de alguien en el código y ahora desea cambiarlo. Cambiar el nombre en cada posición lleva tiempo. Puede usar constantes mediante las cuales cambiar el nombre de esa persona en el momento de la declaración constante cambiará el nombre en todo el código.

Las constantes pueden ser de dos tipos.

  1. Constantes integradas
  2. Constantes definidas por el usuario

Constantes integradas

VBA proporciona más de 100 constantes integradas a los usuarios de VBA. Hay constantes booleanas, de color y basadas en tipo de fecha en VBA. Por ejemplo, vbRed, vbBoolean y vbDate. Por ejemplo, dado el valor de celda de C2 como «Arushi practica dsa en geeks para geeks» . Su tarea es cambiar el color de la celda a negro y establecer la fuente en verde usando constantes VBA incorporadas.

C2-cell-value-filled

Paso 1: abre tu editor de VBA. El nombre del procedimiento es geeks() . Establezca el color de la celda C2 en negro. Aquí, hemos usado la constante incorporada vbBlack para colorear la celda. La función utilizada para lograr esto es Range(cell).Interior.Color .

Using-in-built-constant-vbBlack

Paso 2: establezca la fuente del texto dentro de C2 en verde usando la constante incorporada VBgreen . La función utilizada para lograr esto es Range(cell).Font.Color .

Using-vbGreen-in-built-constant

Paso 3: ejecuta tu macro. El color del texto se cambia a verde y el color de fondo a negro.

Running-macro

Funcionamiento interno de las constantes

Del ejemplo anterior, podría parecer que la constante vbGreen cambia el color del texto a verde, pero esa es la verdad a medias. En realidad, la mayoría de las constantes son valores numéricos. El valor numérico de vbGreen es 65280 . Diferentes Métodos para conocer el valor numérico de la constante:

Método 1: Usar F8

Paso 1: abre tu editor de VBA. Bajo un procedimiento secundario. Presiona Fn + F8 en tu teclado. Ahora, una línea amarilla puede resaltar el subprocedimiento, es decir, geeks() .

Highlighting-in-yellow

Paso 2: Ahora, si pasa el cursor sobre la constante, mostrará el valor numérico de esa constante. Por ejemplo, el valor numérico de vbGreen es 65280 .

Numeric-value-of-vbGreen

Método 2: usar la impresión en VBA

Puede imprimir el valor numérico de la constante en la ventana inmediata.

Paso 1: use Debug.Print (constante) en el código. Haga clic en la ejecución.

Printing-numeric-value

Paso 2: El valor de la constante se imprimirá en la ventana inmediata.

Value-printed-in-immediate-window

Obtener una lista de constantes integradas

VBA proporciona una lista detallada de constantes integradas. Puede acceder al nombre y al valor numérico consultando la lista.

Paso 1: Abra su editor de código VBA. Haga clic en la pestaña Ver .

Clicking-view

Paso 2: Haga clic en el Explorador de objetos o presione F2 .

Clicking-object-browser

Paso 3: Se abre una sección llamada Miembros de ‘<globales>’ . Aquí tenemos la lista de todas las constantes en VBA.

List-of-constants-in-VBA

Paso 4: Haga clic en cualquiera de las celdas para obtener el valor numérico de esa constante.

Obtaining-numeric-value-of-cells

Constantes definidas por el usuario

Puede entrar en situaciones en las que desee definir sus constantes personalizadas. Por ejemplo, las constantes matemáticas como PI (3,14), h (constante de tablón = 6,626 \times 10^{-34}), etc. Aquí, necesitará el conocimiento de las constantes definidas por el usuario.

Conversión de colores RGB a un valor numérico

Antes de aprender a declarar constantes en VBA, debe saber cómo convertir un número RGB a su valor numérico. Esto será útil para saber qué valor numérico tenemos que asignar a nuestra constante para lograr el color especificado. Por ejemplo, busque el valor numérico del color negro personalizado.

Paso 1: Ve a la pestaña Inicio . En la sección Fuente , haga clic en el color del tema . Ahora, haga clic en Más colores.

Clicking-theme-color

Paso 2: Se abre una pestaña de colores . Seleccione el menú personalizado . Puede ver el valor de R , G y B, es decir, 7 , 36 y 2 . Haga clic en Aceptar .

Selecting-custom-menu

Paso 3: Ahora, abre tu editor de VBA. En la ventana inmediata, escriba ?RGB(red_value, green_value, blue_value) . Presione Entrar . Obtendrá el valor numérico de ese color, es decir, 140295 .

Obtaining-numeric-value-of-that-color

Declaración de constantes personalizadas en VBA

Las constantes personalizadas se declaran de la misma manera que las variables, pero en lugar de usar la palabra clave ‘Dim’, usamos la palabra clave ‘Const’ en la sintaxis.

Sintaxis: Const nombre_constante as tipo_datos = valor_asignado

Por ejemplo, dado el valor de celda de C2 como «Arushi practica dsa en geeks para geeks» . Su tarea es cambiar el color de la celda a negro y establecer la fuente en verde usando constantes VBA personalizadas.

Changing-color-in-cell

Paso 1: declarar el negro constante en el alcance del subprocedimiento. Como el valor numérico del negro es 0 . Entonces la constante se establece en 0.

Constant-set-is-0

Paso 2: establezca el color de la celda en negro mediante el uso de la función Rango (celda). Interior. Color , asignada por una constante a negro.

Assigning-constant-to-black

Paso 3: Repita los pasos 1 y 2. Declare el valor numérico de verde, es decir, 65280, que se puede encontrar mediante rgb al convertidor numérico como se muestra arriba. Establezca el color de la fuente mediante la función Rango (celda). Fuente. Color , asignada por constante a verde.

Declaring-custom-constant

Paso 4: El fondo de la celda C2 se establece en negro y el color de la fuente en verde .

Cell-color-set-black-and-font-green

Alcance de las constantes en VBA

Las constantes se declaran según sus ámbitos. Algunas constantes solo tienen alcance de subprocedimiento; algunos pueden tener alcance de módulo, etc.

  • Alcance en un procedimiento

La constante declarada en un procedimiento tiene su alcance dentro del propio procedimiento. La constante negra declarada dentro del procedimiento geek() no funcionará para ningún otro procedimiento o módulo.

Declaring-custom-constant-for-black-color

  • Alcance en un módulo

La constante se declara fuera de un procedimiento y el alcance de la constante es válido para todo el módulo. Esa constante se puede utilizar en cualquier procedimiento, subprocedimiento o función.

Scope-in-a-module

  • Alcance en todos los módulos

El alcance del módulo se puede aumentar a todos los módulos usando la palabra clave public mientras se declara la constante. Ahora, el alcance de la constante es para todos los módulos.

Scope-in-all-modules

Publicación traducida automáticamente

Artículo escrito por gautamgoel962 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *