jueves, 20 de marzo de 2008

Estructuras de Control ( [ IF..End if] - [ Select case..End Select]

Vba nos permite emplear varias estructuras de control y asi podemos escribir codigo que tome decisiones y repita algunas acciones

IF..Then:
La emplearemos para ejecutar instrucciones dependiendo del valor de una condición.

Sintaxis de una sola linea(ejecuta una instruccion si la condicion es true
---------------------------------------------------------------------------------
'si la celda activa es 500 ..entonces la celda activa sera ahora ..500+100

if activecell.value=500 then activecell.value=500+100

Sintaxis de varias lineas(ejecutara varias instrucciones si la condicion es
-----------------------------------------------------------------------------------
true)
------

Sub test()

If ActiveCell.Value = 600 Then

MsgBox "la celda tiene el valor de 600" 'instruccion1

ActiveCell.Interior.ColorIndex = 3 'instruccion 2

End If

End Sub


IF ..Then..Else
-----------------
Esta estructura Ejecutara determinadas instrucciones si la condicion es TRUE
y otras si la condicion es FALSE

*Ejemplo para 2 posibilidades

IF activecell.value=600 then 'si es 600 then

activecell.value=700 'cambiar por 700

Else 'caso contrario

activecell.value=0 'cambiar por cero

End if

*Ejemplo para varias posibilidades

Sub variosIF()

If ActiveCell.Value = 800 Then 'condicion1

MsgBox "la celda tiene 800 como valor"
ActiveCell.Interior.ColorIndex = 4

ElseIf ActiveCell.Value = 900 Then 'condicion2
MsgBox "la celda tiene 900 como valor"
ActiveCell.Interior.ColorIndex = 5

ElseIf ActiveCell.Value = 910 Then 'condicion3

MsgBox "la celda tiene 910 como valor"
ActiveCell.Interior.ColorIndex = 6

Else 'en el caso no cumpla con las codiciones anteriores

MsgBox "la celda es diferente de 800,900,910 o tal vez esta vacia"

End If

End Sub