SITIO DEDICADO  SOLO A EXCEL 2007 Y EXCEL 2003, CON TUTORIALES Y EJERCICIOS  RESUELTOS DE  TODOS LOS TEMAS

NIVELES, BASICO, MEDIO Y AVANZADO

Estructura de decisión  If - Then - Else

 

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 respectivamente

Comparar

para responder a la pregunta utilizaremos el siguiente código

 

codigo

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

 

Comparación 1

 

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

 

Código:

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)

Resultado

 

Anidamiento

 

Código para copiar y pegar:

 

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.

 

 

 

 

Copyright © 2009. Diseño CésarDesign
Free Web Hosting

http://www.000webhost.com/