INTRODUCCION:
La estructura de decisión se llama así pues puede, luego de evaluar una condición, ejecutar un bloque de código u otro.
Vamos a ver algunos ejemplos;
1- Comparar 2 números ubicados en 2 celdas, y responder, en una tercera celda, si son iguales o no
Compararemos los Nº 59 y 63 ubicados en las celdas D1 y E1 respectivamentepara responder a la pregunta utilizaremos el siguiente código
Explicación del código
1-Título.
2-Si el valor del Nº que está en la celda "D1" es igual al que está en la celda "E1" , entonces se ejercita el código de la línea 3.
3-Se coloca en la celda "D4" el texto "Los valores de D1 y E1 son iguales"..
4-Sino se da la condición de la línea 2 se ejecuta el código de la línea 5.
5 -Se coloca en la celda "D4" el texto "D1 es distinto que E1".
6-Se cierra el If.
7-Se cierra el Sub
Código para copiar y pegar
Sub Condicional()
If ActiveSheet.Range("D1").Value = ActiveSheet.Range("E1").Value Then
ActiveSheet.Range("D4").Value = "Los Valores de D1 y E1 son iguales"
Else
ActiveSheet.Range("D4").Value = "D1 es distinto que E1"
End If
End Sub
En nuestro caso el resultado se tiene que ver como en la figura
Esta estructura puede anidarse, lo que quiere decir poner otro If en la línea 3, 5 o ambas. Esto es necesario al querer averiguar si los Nº son mayores, iguales o distintos, para hacerlo generamos otra macro en el mismo libro que llamaremos, por ejemplo, Anidamiento
Notar que el segundo If se puso en la parte correspondiente al Else y se cierra antes que el primer If. Se puede también ver que hemos identado el código para mayor claridad (cosa que recomiendo enfáticamente)
Sub Anidamiento()
If ActiveSheet.Range("D1").Value = ActiveSheet.Range("E1").Value Then
ActiveSheet.Range("D4").Value = "Los Valores de D1 y E1 son iguales"
Else
If ActiveSheet.Range("D1").Value > ActiveSheet.Range("E1").Value Then
ActiveSheet.Range("D4").Value = "D1 es mayor que E1"
Else
ActiveSheet.Range("D4").Value = "E1 es mayor que D1"
End If
End If
End Sub
Se puede ver que este código no está identado por lo que sugiero hacerlo como ejercicio.