Variables, tipos de datos y constantes
El dominio Variables, tipos de datos y constantes evalúa si eliges el tipo adecuado, entiendes el ámbito y evitas conversiones silenciosas. Un Integer mal elegido o una constante reasignada son fallos típicos de examen.
Tipos y límites que hay que recordar
Byte0–255;BooleanTrue/False;Integerde −32.768 a 32.767;Longde −2.147.483.648 a 2.147.483.647;SingleyDoublepara decimales;Currencycon 4 decimales fijos;Date;String;Object;Variant.- Para números de fila usa siempre
Long: una hoja moderna supera los 32.767 y el desbordamiento (error 6) es un clásico.
Declaración y ámbito
Dim declara en el procedimiento; Private en la cabecera del módulo limita la variable a ese módulo; Public la hace global; Static conserva el valor entre llamadas al mismo procedimiento. El nombre admite hasta 255 caracteres, empieza por letra, no lleva espacios ni puntos y no puede coincidir con una palabra reservada.
Constantes y conversiones
Const IVA As Double = 0.21 se evalúa en compilación y no puede reasignarse. Las funciones CInt, CLng, CDbl, CStr y CDate convierten de forma explícita; ojo: CInt(2.5) devuelve 2 porque aplica redondeo bancario (al par más cercano), no 3.
Ejemplo razonado
Sub Contar()
Static veces As Long
veces = veces + 1
Range("A1").Value = veces
End Sub
Static hace que veces no se reinicie en cada ejecución, algo que Dim no consigue. Long evita desbordamientos y el 1 se suma como número, no como texto, porque la variable ya está tipada.
Errores que cuestan puntos
Declarar dos veces la misma variable en el mismo ámbito; usar Integer para filas; asumir que Variant es gratuito; intentar cambiar una Const; y olvidar que sin Option Explicit un error de tecleo crea una variable nueva en silencio.