Condiciones dentro del bucle For…next

Podemos anidar condiciones una dentro de otras. En un bucle if…then podemos insertar otro y, así también podemos hacerlo con For…next. En l siguiente ejemplo vamos a sacar en las primeras 25 filas de forma aleatoria números en tre el 100 y el 999, después vamos a insertar un bucle anidado que nos va a colorear en rojo y negrita la fuente, para aquellos valores que superen el valor 500. Observe el código y vea cómo se generan los números aleatorios:

Sub ejemplo()
‘declaro variables
Dim numaleatorio As Integer
Dim i As Byte
‘desde la fila 1 a la 25 inserto números aleatorios del 100 al 999
For i = 1 To 25
numaleatorio = Int((999 – 100 + 1) * Rnd + 100)
Cells(i, 1) = numaleatorio
Next

‘voy a cambiar a rojo y negrita los valores que pasen de 500

For i = 1 To 25
    If Cells(i, 1) > 500 Then

        Cells(i, 1).Font.ColorIndex = 3
        Cells(i, 1).Font.Bold = True
    End If
Next i

End Sub

He separado el código para hacerlo más comprensible, evidentemente se puede hacer de otra forma. Dentro del bucle For…Next se sitúa la estructura condicional. Si la condición se cumple en una celda, esta cambia de color. El valor colorindex va del 1 al 56 y representa la paleta de colores en VBA. Aprovechando el tema intente hacer la práctica 6 puede serle de utilidad.