DOMINA-BACH Básico study materials
DOMINA-BACH Básico study resources

DOMINA-BACH Básico: Fundamentos del lenguaje y estructura de una macro

DOMINA-BACH Básico · Work through your exam, one topic at a time.

All guide sections

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 con End Sub.
  • Option Explicit se 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 ' o Rem; 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.