Fundamentos del lenguaje y estructura de una macro
El dominio Fundamentos del lenguaje y estructura de una macro evalúa si reconoces la anatomía mínima de un procedimiento, dónde vive el código y qué directivas cambian su comportamiento antes de ejecutarlo. Aparece en preguntas del tipo «¿qué falta aquí?» o «¿qué ocurre si se omite esta línea?».
Dónde vive el código
El editor VBE se abre con Alt+F11 y muestra un árbol de proyecto: módulos estándar (Insertar > Módulo), módulos de objeto (ThisWorkbook y una entrada por hoja) y módulos de formulario. Una macro pública de un módulo estándar aparece en la lista de macros y puede asignarse a un botón; el código de un módulo de objeto está pensado para eventos.
Reglas de estructura
- Todo procedimiento empieza con
Sub nombre()y termina obligatoriamente conEnd Sub. Option Explicitse escribe en la cabecera del módulo, antes de cualquier procedimiento, y obliga a declarar cada variable. Sin ella, un nombre mal escrito se crea al vuelo como Variant vacía y el fallo aparece en ejecución, no al compilar.- Los comentarios usan
'oRem; el resto de la línea se ignora. - Una instrucción larga se parte con un espacio seguido de guion bajo (
_). - VBA no distingue mayúsculas de minúsculas y reescribe el formato al pulsar Intro.
Ejemplo razonado
Sub Presentar()
Dim alumno As String
alumno = "Lucía"
Debug.Print "Alumno: " & alumno
End Sub
Dim está dentro del procedimiento, así que alumno es local y desaparece al terminar. Se declara As String porque el dato es texto; sin el tipo sería Variant y perderías la comprobación de tipos. El operador & concatena convirtiendo a texto, mientras que + puede sumar si hay Variant numéricos. Debug.Print escribe en la ventana Inmediato sin tocar la hoja.
Errores que cuestan puntos
Poner Option Explicit dentro de un procedimiento; dejar instrucciones sueltas fuera de Sub/Function; olvidar End Sub; nombrar el procedimiento con espacios o con una palabra reservada; confundir una macro grabada, llena de Selection y .Select, con código robusto.