Estructuras de control y bucles
El dominio Estructuras de control y bucles mide si controlas la lógica de decisión y repetición, incluido cuándo una estructura se ejecuta al menos una vez y cómo se sale de ella.
Decisión
If condición Then ... ElseIf ... Else ... End If evalúa en orden y se detiene en la primera rama verdadera. Select Case compara una sola expresión y admite Case 1 To 5, Case Is >= 10, Case "A", "B" y Case Else. La función IIf existe, pero evalúa ambas ramas, así que no protege de una división por cero. La igualdad se escribe =, la desigualdad <>; los operadores lógicos son And, Or, Not y Xor.
Bucles
For i = 1 To 10 Step 2 ... Next icon contador numérico.For Each celda In Range("A1:A10")recorre colecciones y objetos.Do While condición ... Loopcomprueba antes;Do ... Loop While condicióncomprueba después y se ejecuta al menos una vez. ConUntilla condición se invierte.Exit ForyExit Doabandonan el bucle; Ctrl+Inter lo interrumpe en el editor.
Ejemplo razonado
Dim i As Long, total As Double
For i = 2 To 100
If IsNumeric(Cells(i, 1).Value) And Cells(i, 1).Value > 100 Then
total = total + Cells(i, 1).Value
End If
Next i
Se empieza en la fila 2 para saltar el encabezado. IsNumeric evita el error 13 cuando la celda contiene texto; And exige que se cumplan ambas condiciones y VBA no cortocircuita, por lo que el orden de los operandos importa.
Errores que cuestan puntos
Modificar el contador dentro de un For; olvidar Next o la condición de salida y provocar un bucle infinito; confundir Do While con Do ... Loop While; y usar IIf esperando evaluación perezosa.