Scope
Esto se refiere a la parte del código donde se pueden usar variables. Hay varios tipos de ámbitos:
- Local Scope: Las variables declaradas en un procedimiento solo son accesibles en ese procedimiento.
- Module Scope: Las variables declaradas como privadas en la parte superior del módulo son accesibles para todos los procedimientos del módulo.
- Global Scope: Se puede acceder a las variables declaradas como públicas desde cualquier procedimiento en un proyecto de VBA.
Lifetime
Se refiere al tiempo que una variable permanece en la memoria durante la ejecución del programa.
- Las variables locales solo existen mientras dure el procedimiento y desaparecerán una vez que se complete el procedimiento.
- La variable global (que se declara como Public) existe durante todo el tiempo que la aplicación se está ejecutando y permanece hasta que se cierra.
Trabajar con constantes
Una constante es un valor que es fijo y no cambia durante el programa. A diferencia de las variables, cuyos valores pueden cambiar en cualquier momento, las constantes siempre tendrán el mismo valor en todo el programa. Las constantes son muy útiles para almacenar valores fijos e inmutables, como valores pi ($$\pi$$), límites máximos o mensajes fijos.
Diferencia entre Variable y Constante
Variable: El valor se puede cambiar durante el programa. Ejemplo:
Dim userAge As Integer
userAge =25 'Value can be changed
userAge =30 'Value can be changed
Constante: El valor no se puede cambiar una vez que se declara. Ejemplo:
Const MAX_USERS As Integer =100' Value cannot be changed
El uso de constantes puede mejorar la legibilidad del código y reducir la probabilidad de errores, ya que los programadores no tienen que preocuparse por los cambios accidentales de valor.
Cómo declarar constantes
Para declarar una constante en VBA, use the keyword Const, seguido del nombre de la constante, el tipo de datos y el valor que desea establecer. A continuación, se muestra un ejemplo de cómo declarar una constante:
Const PI As Double =3.14159 ' Declares PI constant
Const WELCOME_MESSAGE As String = “Welcome!” ' Declares welcome message constant
Una vez declarada, puede usar esta constante en su código como una variable regular, pero el valor no se puede cambiar:
Otros artículos interesantes
Constantes integradas y personalizadas
VBA tiene muchas constantes integradas que ayudan en la escritura de código. Estas constantes preexistían y a menudo se utilizan para regular propiedades, métodos o funciones existentes.
1. Constantes para MsgBox:
- vbOKOnly: Solo muestra el botón “OK”.
- vbYesNo: Muestra los botones “Sí” y “No”.
- vbInformation: Muestra el icono de información.
Ejemplos de uso:
Sub ShowMessage()
MsgBox “Do you want to continue?”, vbYesNo + vbInformation, “Confirm”
End Sub
2. Constantes para la alineación:
- xlCenter: Alinea el texto en el medio.
- xlLeft: Alinea el texto a la izquierda.
- xlRight: Alinea el texto a la derecha.
Ejemplos de uso:
Sub SetAlignment()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets(1)
Ws. Cells(1, 1). Value = “Welcome”
Ws. Cells(1, 1). HorizontalAlignment = xlCenter
End Sub
3. Constantes para el color:
- vbRed: Rojo.
- vbGreen: Verde.
- vbBlue: Azul.
Ejemplos de uso:
Sub ShowColor()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets(1)
Ws. Cells(1, 1). Value = “Red Color”
Ws. Cells(1, 1). Font.Color == vbRed
End Sub