Está en la página 1de 20

Estructuras de decisión

Visual Basic 6.0


Visual Basic permite probar condiciones y realizar diferentes operaciones en
función de los resultados de la prueba. Puede comprobar si una condición es
verdadera o falsa, los distintos valores de una expresión o las diferentes
excepciones que se generan al ejecutar una serie de instrucciones.
Construcción If...Then...Else

 Las construcciones If...Then...Else Dim contador As Integer = 0


permiten probar una o más Dim mensaje As String
condiciones y ejecutar una o más
instrucciones en función de cada
condición. If contador = 0 Then
mensaje = “No existen elementos."
ElseIf contador = 1 Then
mensaje = “Existen 1 elemento."
Else
message = “Existen" & contador & " elementos."
End If
Construcción Select...Case

 La construcción Select...Case permite Dim number As Integer = 8


evaluar una expresión una vez y ejecutar
distintos conjuntos de instrucciones Select Case number
basados en diferentes valores posibles. Case 1 To 5
Msgbox("Between 1 and 5, inclusive")
Case 6, 7, 8
Msgbox("Between 6 and 8, inclusive")
Case 9 To 10
Msgbox("Equal to 9 or 10")
Case Else
Msgbox("Not between 1 and 10,
inclusive")
End Select
Estructuras de bucles
Visual Basic 6.0
Las estructuras de bucles de Visual Basic permiten ejecutar una o varias líneas de
código de forma repetitiva. Puede repetir las instrucciones de una estructura de
bucles hasta que una condición sea True, una condición sea False, un número de
veces especificado o una vez para cada objeto de una colección.
Bucles While

 La construcción While...End While Sub Ciclos()


ejecuta un conjunto de
Dim fila As Integer
instrucciones mientras la condición
especificada en la instrucción fila = 1
While sea True. Do While Cells(fila, 1) <> ""
Cells(fila, 2).Value = fila
fila = fila + 1
Loop
End Sub
Bucles Do

 La construcción Do...Loop le permite Sub Ciclos()


probar una condición al comienzo o
al final de una estructura de bucle.
También puede especificar si repite Dim fila As Integer
el bucle mientras la condición sigue
siendo True o hasta que se convierta
en True. fila = 1
Do
Cells(fila, 2) = fila
fila = fila + 1
Loop Until Cells(fila, 1).Value = ""

End Sub
Bucles Do

Repetir el ciclo hasta que se encuentre Sub Ciclos()


una celda vacía
Dim i As Integer
i=0
La siguiente macro:
 Recorre el rango de datos y se
detiene hasta que se encuentra una Do
celda en vacía i=i+1
 Utiliza la función IsEmpty para Loop Until IsEmpty(Cells(i, 1))
identificar la celda vacía
 La condición de salida se prueba a la
salida del ciclo Cells(i, 1).Select
End Sub
Estructuras de bucles

CICLO WHILE CICLO DO


Sub Ciclos() Sub Ciclos()
Dim fila As Integer Dim fila As Integer
fila = 1 fila = 1
Do While Cells(fila, 1) <> "" Do
Cells(fila, 2).Value = fila Cells(fila, 2) = fila
fila = fila + 1 fila = fila + 1
Loop Loop Until Cells(fila, 1).Value = ""
End Sub End Sub
Bucles For

 La construcción For...Next ejecuta Sub Ciclos()


el bucle un número fijo de veces.
Dim i As Integer
Utiliza una variable de control de
bucle, también denominada
contador para realizar el For i = 1 To 10
seguimiento de las repeticiones. Cells(i, 1).Value = i
Especifica los valores de inicio y fin
de este contador, y puede Next i
especificar opcionalmente la
cantidad en la que se incrementa
de una repetición a la siguiente. End Sub
Bucles For Each

 La construcción For Each...Next Sub ConvierteMayusculas()


ejecuta un conjunto de
Dim celda As Range
instrucciones una vez para cada
elemento de una colección (lista o
rango). Especifica la variable de For Each celda In Selection
control de bucle pero no tiene que celda.Value = UCase(celda.Value)
determinar los valores de inicio y
fin para ella. Next
End Sub
 Convierte en mayúscula la primera Sub ConviertePropias()
letra de una cadena de texto
Dim celda As Range

 Usando la función Proper de Excel -


no disponible en vba-Excel For Each celda In Selection
 Application.WorksheetFunction.no celda.Value =
mbreFuncion Application.WorksheetFunction.Proper
(celda.Value)
Next

End Sub
Otras funciones
Visual Basic 6.0
Extraer la primera palabra de un texto
dado

Function PrimeraPalabra(Texto As String) As String


'Extrae la primera palabra de un texto dado
'
Dim Posicion As Integer

Posicion = InStr(1, Texto, " ") 'Busca la posición del primer caracter blanco
PrimeraPalabra = Left(Texto, Posicion - 1)

End Function
Extraer la última palabra de un texto dado

Function UltimaPalabra(Texto As String) As String


'Extrae la última palabra de un texto dado
'
Dim Temporal As String
Dim Posicion As Integer

Temporal = StrReverse(Texto) 'invierte el texto


Posicion = InStr(Temporal, " ") 'busca la posición del primer caracter blanco
UltimaPalabra = Right(Texto, Posicion - 1)

End Function
Buscar patrones en un texto dado

Function Como(Texto As String, Patron


As String) As Boolean
'Devuelve verdadero si el patrón
buscado se encuentra en el texto dado
If Texto Like Patron Then
Como = True
Else
Como = False
End If
End Function
Descubre que hacen…

 Sub Seleccionar1()  Sub Seleccionar2()


Cells.Select Cells(2, 4).Select
End Sub End Sub
Descubre que hacen…

 Sub Seleccionar3()  Sub seleccionar4()


Cells(2).Select Cells(2).ClearContents
End Sub End Sub
Descubre que hacen…

Sub Seleccionar5() Sub Seleccionar6()


With Cells.Font
Range("A:A").Delete
.Name = "Arial"
.Size = 10 End Sub
End With
End Sub

También podría gustarte