Documente Academic
Documente Profesional
Documente Cultură
Ejemplo:
Desarrolle un programa en Excel VBA que sea capaz de obtener el valor de:
UANL 2017
Anlisis de Datos Avanzados
Ciclos: For | Next
El diagrama de flujo para resolver lo anterior sera:
INICIO
Aqu se sabe de manera
clara cundo terminar el
ciclo
SUMA=0 CONTADOR = 1
no CONTADOR >
100?
UANL 2017
Anlisis de Datos Avanzados
Ciclos: For | Next
Sub SumaRaicesCuadradas()
Dim Suma as Single, Contador as Integer
Suma = 0
For Contador = 1 to 100
Suma = Suma + SQRT(Contador)
Next Contador
MsgBox La suma asciente a: & Suma
End Sub
UANL 2017
Anlisis de Datos Avanzados
Condicionales: If | Then
Sintaxis: Ejemplo:
UANL 2017
Anlisis de Datos Avanzados
Ciclos: For | Next
Sub SumaRaicesCuadradas()
Dim Suma as Single, Contador as Integer
Suma = 0
For Contador = 1 to 100 Step 2
Suma = Suma + SQRT(Contador)
If Suma > 20 Then
Exit For
End If
Next Contador
Range(B1) = Suma Incremento
End Sub
UANL 2017
Anlisis de Datos Avanzados
Ciclos: For Each | Next
Sintaxis: Ejemplo:
La referencia a un objeto en el
ciclo facilita la programacin
UANL 2017
Anlisis de Datos Avanzados
Condicionales: Select Case
Ejemplo:
Sub Saludos2()
Expresin de prueba
Select Case Time
Case Is < 0.5
Range(A1) = Buenos das
Case 0.5 to 0.75
Range (A1) = Buenas tardes
Case Else
Range(A1) = Buenas noches
End Select
End Sub
UANL 2017
Anlisis de Datos Avanzados
Ciclos: While| Wend , Do | Loop While
Considere el siguiente algoritmo para una hoja de clculo:
INICIO
Est vaca
la celda s FIN
activa?
no
Desplazarse a la
celda inferior
siguiente
UANL 2017
Anlisis de Datos Avanzados
Ciclos: While| Wend , Do | Loop While
Ejemplo: Ejemplo:
UANL 2017
Anlisis de Datos Avanzados
Ciclos: While| Wend , Do | Loop While
Revisemos ahora el siguiente ejemplo:
INICIO
Obtener
NOMBREUSUARIO
no
Tiene
NOMBREUSUARIO
alguna letra?
NOMBREUSUARIO =
Imprime FIN
Primera palabra de
NOMBREUSUARIO
NOMBREUSUARIO
UANL 2017
Anlisis de Datos Avanzados
Ciclos: Do Until| Loop , Do | Loop Until
Sintaxis: Sintaxis:
Do
Do [Until Condicin] [Instrucciones]
[Instrucciones] [Exit Do]
[Exit Do] Loop [Until Condicin]
Loop
Ejemplo:
Sub InputBoxDemo2()
UANL 2017
Anlisis de Datos Avanzados
Prctica
Retome el ejemplo anterior, y modifique el programa de manera que si el usuario al
capturar sus datos inicia con un espacio, el resultado slo muestre el mensaje con el
nombre de pila. Asimismo, si se introduce una cadena con caracteres sea detectado
regrese a la ventana de captura original:
UANL 2017
Anlisis de Datos Avanzados
La instruccin Set
UANL 2017
Anlisis de Datos Avanzados
Proyecto
Usted ha sido contratado por una empresa para sistematizar un proceso de valuacin
de existencias. Dado que la gerencia maneja dos bases de datos separadas para el
costo de las mercancas y el inventario, el proyecto consiste en generar un nuevo
archivo que exclusivamente muestre los productos y sus valores (sin las cantidades),
dado que se trata de informacin confidencial.
Archivos:
Precios.xls
Existencias.xls
UANL 2017
Anlisis de Datos Avanzados
Proyecto
Restricciones:
1. El usuario del programa no tiene acceso a las bases de datos fuente. Por
consiguiente, la nica ventana que debe aparecer una vez terminada la ejecucin
es aquella con los resultados.
2. El nmero de renglones en cada base es variable, pues est sujeto a futuras
actualizaciones que deben ser transparentes al usuario.
3. La subrutina (macro) que desarrolle deber ser invocada desde la hoja de
resultados con un botn, el cual es responsable de limpiar y recalcular la
informacin cada vez que sea necesario.
UANL 2017
Anlisis de Datos Avanzados
Proyecto
Sugerencia:
Utilice en la mayor medida de lo posible los conceptos de VBA vistos hasta el momento
con el fin de facilitar el desarrollo de esta aplicacin.
UANL 2017