Variables y Tipos de Datos
Desliza para mostrar el menú
Cada procedimiento que escribes necesita un lugar donde almacenar valores mientras se ejecuta — el nombre de un cliente, un total acumulado, una bandera de sí/no. Eso es una variable: una caja etiquetada en la memoria en la que puedes poner un valor y recuperarlo después. Creas una con Dim (abreviatura de "dimension"), y le indicas a VBA de antemano qué tipo de dato almacenará:
Dim productName As String
Dim currentStock As Integer
Dim unitPrice As Double
Cada línea reserva un espacio etiquetado: productName solo puede contener texto, currentStock solo números enteros, unitPrice solo números con decimales. Declarar el tipo de dato desde el principio no es una formalidad innecesaria — es lo que permite a VBA detectar errores antes de que se conviertan en fallos. Si intentas ejecutar productName = 47, VBA te detendrá de inmediato con un error de incompatibilidad de tipo, en lugar de almacenar algo incorrecto y causar confusión más adelante.
Tipos de datos comunes
Regla general: usa Long en lugar de Integer para contadores y números de fila — no es más lento en Excel moderno y no se desbordará con conjuntos de datos grandes. Verás Dim i As Long en todas partes en este curso.
Option Explicit
Coloca esta única línea en la parte superior de cada módulo, antes de cualquier Sub. Cambia una cosa: ahora VBA se negará a ejecutar cualquier línea que use una variable que no hayas declarado previamente con Dim:
Option Explicit
Sub Example()
Dim total As Double
total = 100 ' works — declared above
toatl = 200 ' typo — Option Explicit catches this at compile time
End Sub
Sin Option Explicit, ese error tipográfico crea silenciosamente una variable nueva llamada toatl, y podrías pasar veinte minutos preguntándote por qué total nunca cambia. Este simple hábito previene más errores que cualquier otra cosa en este capítulo.
Constantes
Las constantes son valores nombrados que nunca cambian mientras el código se ejecuta — perfectas para cosas como tasas de impuestos o umbrales:
Const REORDER_THRESHOLD As Integer = 20
Usar REORDER_THRESHOLD en lugar de escribir 20 en todas partes significa que si la regla de negocio cambia, editas una sola línea en vez de buscar en todo tu código.
Tarea
- En
Section_2_VBA_Fundamentals.xlsm, escribir unSubque declare una variableStringpara el nombre de un producto, unDoublepara su precio y unIntegerpara su stock. - Asignarles los valores de
USB-C Hubescribiendo los valores literales. - Usar
MsgBoxpara mostrar los tres en un solo mensaje, concatenados. - Agregar
Const LOW_STOCK As Integer = 20encima delSuby usarlo en unMsgBoxcomparándolo con la variable de stock.
- Se necesitan tres líneas
Dimcon diferentes tipos — consulta la Figura 2.1 si olvidas la sintaxis:Dim name As Type. - La fila de USB-C Hub es Price 39.50, Stock 44. Asígnalos directamente:
price = 39.50. - La concatenación utiliza
&, no+. Construye la cadena por partes:"Name: " & productName & ", Price: " & price. - Las constantes se declaran fuera de cualquier
Sub, en la parte superior del módulo, justo después deOption Explicit. ComparastockCountconLOW_STOCKusando simplemente>o<dentro de una cadena deMsgBox— aún no necesitas unIf, solo muestra ambos valores para que puedas comparar visualmente.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla