El valor de Pi es 3,14, la atracción gravitacional de la Tierra es 9,8 m / s ^ 2 ^, tienes interés en VBA, etc. Todos estos son constantes y no cambian.

image

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 Const * para declarar una constante en VBA.

La sintaxis de declarar una variable constante en VBA es:

[<Scope Specifier>] Const <VarName> as <variable_type> = <value>

link:/general-topics-in-vba-excel-vba-variable-scope
=== `aquí.

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

<VarName>: Es el nombre de la variable constante.

<variable_type>: el tipo de constante. Por ejemplo, entero, cadena, fecha, etc.

<valor>: * El valor de la variable constante.

Un ejemplo simple de la variable constante es:

Const pi as double = 3.14

Aquí declaramos el valor constante de pi en una variable llamada_pi_. Ahora podemos usar este pi en 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».

image

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 como un valor fijo diferente, simplemente use la palabra clave Const * antes de la asignación.

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 otras 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 sub y 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     ' This can be accessed from any module in the project

Private Const planets As Integer = 8 ' this is private to this module

Sub Earth()

Const rad As Double = 6371    'Private to this subroutine. Can't be accessed outside

sArea = 4  pi  Sqr(rad)

Debug.Print sArea

End Sub

Sub Mars()

Const rad As Double = 3389.5 'Private to this subroutine. Can't be accessed outside

sArea = 4  pi  Sqr(rad)

Debug.Print sArea

End Sub

Esta es una simple especificación de alcance variable. Puede leer acerca de la configuración del alcance variable enlace: / general-topics-in-vba-excel-vba-variable-scope [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.

Artículos relacionados:

link: / general-topics-in-vba-excel-vba-variable-scope [Excel VBA Variable Scope] | tenemos especificadores de acceso variable 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.

enlace: / celdas-rangos-filas-y-columnas-en-vba-cuál-es-la-diferencia-entre-byref-y-byval-argumentos-vba-entrevista-pregunta [ByRef y ByVal argumentos] | Cuando un argumento se pasa como un 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.

link: / files-workbook-and-worksheets-in-vba-delete-sheets-without-confirm-prompts-using-vba-in-microsoft-excel [Eliminar hojas sin mensajes de confirmación usando VBA en Microsoft Excel] | Desde 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.

link: / files-workbook-and-worksheets-in-vba-add-and-save-new-workbook-using-vba-in-microsoft-excel [Add And Save New Workbook Using VBA In 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, eliminar, etc `link: / menus-toolbars-status-bar-in-vba-display-a-message-on-the-statusbar-using-vba-in-microsoft-excel [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 de VBA es extenso y realiza varias tareas usando VBA, a menudo deshabilita la actualización de la pantalla para que no vea esa pantalla parpadeando `link: / general-topics-in-vba-turn-off-warning-messages- using-vba-in-microsoft-excel [Desactivar 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.

Artículos populares:

link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-incrementa-your-productividad [50 accesos directos de Excel para aumentar su productividad] | Acelera tu tarea. Estos 50 atajos lo harán trabajar aún más rápido en Excel.

link: / fórmulas-y-funciones-introducción-de-vlookup-function [La función VLOOKUP 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.

enlace: / tips-countif-in-microsoft-excel [COUNTIF 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.

link: / excel-formula-and-function-excel-sumif-function [Cómo utilizar la función SUMIF en Excel] | Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas.