Está en la página 1de 3

EJEMPLOS CON PROCEDIMIENTOS

if –else
1. Ejemplo para salir de la aplicación
Sub salir_consulta()
R = MsgBox(“¿Desea salir de la aplicacion?” _
, vbQuestion + vbYesNo)
If R = vbYes Then
MsgBox “Hasta Pronto”
salir
End If
End Sub

2. Por ejemplo, si el monto por pagar es mayor a 5000 y el cliente paga al contado, se le
aplicará un 10% de descuento; de lo contrario, no se le aplicará nada. En este caso,
tenemos dos condiciones que se deben cumplir, usamos el operador lógico And:
Sub Pago()
Dim monto As Double
Dim f_pago As String
Dim descuento As Double
monto = Val(InputBox(“Ingrese monto a pagar”))
f_pago = UCase(InputBox(“Ingrese forma de pago” _
& “Contado (C) Tarjeta (T)”))
If monto > 5000 And f_pago = “C” Then
descuento = monto * 10 / 100
End If
MsgBox “Total a pagar “ & monto - descuento
End Sub
3. Veamos otro ejemplo. Vamos a realizar un procedimiento que le solicite al usuario que
ingrese tres notas de los cursos que ha realizado un alumno. El curso A tiene 2 créditos,
el curso B tiene 3 créditos y el curso C tiene 4 créditos. El alumno puede llevar más de
20 créditos si su promedio ponderado fue 8 o más.
Sub ejemplo4()
Dim n1 As Byte, n2 As Byte, n3 As Byte
Dim P As Double
n1 = Val(InputBox(“Ingrese nota curso A: “))
n2 = Val(InputBox(“Ingrese nota curso B: “))
n3 = Val(InputBox(“Ingrese nota curso C: “))
P = (n1 * 2 + n2 * 3 + n3 * 4) / (2 + 3 + 4)
If P >= 8 Then
MsgBox “Promedio ponderado = “ & P & _
“ Puede llevar más de 20 créditos)”
Else
MsgBox “Promedio ponderado = “ & P & _
“ Sólo puede llevar hasta 20 créditos)”
End If
End Sub
Estructuras Select Case
Sub ejemplo_SelectCase()
Dim op As Integer
Dim monto As Single
Dim pcont As Single, pfin As Single
monto = InputBox(“Ingrese monto a pagar”)
op = InputBox(“Ingrese el tipo de plan (1, 2 o 3)”)
Select Case op
Case 1
pcont = monto - monto * 10 / 100
MsgBox “Paga al contado: “ & pcont
Case 2
pcont = monto + monto * 10 / 100
pfin = pcont / 2
cuota = pfin / 2
MsgBox “Paga al contado: “ & pfin & _
Chr(13) & “y dos cuotas de: “ & cuota
Case 3
pcont = monto + monto * 15 / 100
pfin = pcont * 25 / 100
cuota = (pcont - pfin) / 3
MsgBox “Paga al contado: “ & pfin & _
Chr(13) & “y tres cuotas de: “ & cuota
Case Else
MsgBox “Eligio mal el tipo de plan”
End Select
End Sub

With…End With
1. En el ejemplo que detallamos a continuación, veremos cómo poner una fila entera en
negrita, fuente Comic Sans Ms, tamaño 14, color verde:
Sub ejemplo_with()
Range(“A1:E1”).Select
Selection.Font.Bold = True
Selection.Font.Name = “Comic Sans MS”
Selection.Font.Size = 14
Selection.Font.ColorIndex = 4
End Sub

For…Next
1. En el siguiente ejemplo, vamos a hacer un procedimiento que permita realizar la
sumatoria de los números enteros múltiplos de 5, comprendidos entre el 1 y el 100, es
decir, 5 + 10 + 15 + … 100, y muestre el resultado en un cuadro de mensaje.
Sub ejemplo_bucle_For_Next()
Dim i As Integer
Dim suma As Integer
For i = 1 To 100
If (i Mod 5) = 0 Then
suma = suma + i
End If
Next
MsgBox “La suma de los múltiplos de 5 entre 1 y 100 es: “ &suma
End Sub
For Each…Next
1. En este ejemplo incluimos un encabezado de página alineado a la derecha en todas las
hojas de un libro de trabajo.
Sub ejemplo_For_Each()
Dim Pagina As Object
For Each Pagina In ThisWorkbook.Sheets
Pagina.PageSetup.RightHeader = “Empresa ABC”
Next Página
End Sub

Do…Loop While - Do…Loop Until


1. En el siguiente ejemplo, se le solicita al usuario que ingrese la cantidad de números para
realizar la sumatoria de los múltiplos de 5, entre 1 y la cantidad ingresada.
Sub ejemplo_bucle_Do_Loop()
Dim i As Integer
Dim n As Integer
Dim suma As Integer
n = InputBox(“ingrese cantidad de números”)
Do
i=i+1
If (i Mod 5) = 0 Then
suma = suma + i
End If
Loop While i < n
MsgBox “La suma de los múltiplos de 5 entre” & _“1 y “ & n & “ es: “ & suma
End Sub

While…Wend
1. Por ejemplo, podemos usar la estructura While…Wendpara calcular la suma de n
números naturales.
Sub ejemplo_bucle_While_Wend()
Dim contador As Integer
Dim n As Integer
Dim suma As Integer
n = InputBox(“ingrese cantidad de números”)
While contador <= n
contador = contador + 1
If (contador Mod 5) = 0 Then
suma = suma + contador
End If
Wend

También podría gustarte