Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Macros y VBA en MS Excel (Visual Basic for Applications) Aplicaciones para Ingeniera Profesores: Hugo Mora, Ignacio Casas
05-11-2012
Insertar Controles
05-11-2012
Cada objeto en VBA tiene propiedades y mtodos. Las propiedades se pueden cambiar en la ventana propiedades (F4). Por ejemplo, el objeto Ventana puede tener una propiedad Estado que dice si est abierta o cerrada, y los mtodos Abrir y Cerrar.
ICC2100 Taller de Herramientas Computacionales para Ingeniera
Panel de Cdigo
Panel de Propiedades
05-11-2012
Panel de Cdigo
El alcance (scope) es Public o Private: le indica a VBA si el programa se puede llamar desde cualquier parte o slo desde esta planilla.
ICC2100 Taller de Herramientas Computacionales para Ingeniera
Panel de Propiedades
Panel de Cdigo
La palabra-clave Sub le indica a VBA que se est definiendo una subrutina llamada MiSub. A diferencia de una funcin, una subrutina no entrega un resultado directo.
ICC2100 Taller de Herramientas Computacionales para Ingeniera
Panel de Propiedades
05-11-2012
Donde Tipo puede ser: Integer: un nmero entero (%) Double: un nmero real (#) Boolean: un nmero binario (V o F) Byte: guarda un valor entre 0 y 255 String: Caracteres ASCII ($) Para ver los otros tipos de datos presione ayuda (F1) y escriba tipos de datos Para pasar slo los valores (cuando se invoca La subrutina) usar ByValue (opcional).
ICC2100 Taller de Herramientas Computacionales para Ingeniera
05-11-2012
Nota: tenemos que definir un Tipo para la funcin. Las funciones internas de Excel estn as construidas.
En este caso n no es integer sino Variant (tipo genrico). En general debe ser:
Dim NombreVariable As DataType
05-11-2012
05-11-2012
If (contador < 10) Then MsgBox El Contador es menor a 10 ElseIf (contador < 20) Then MsgBox El Contador es mayor que 10 y menor que 20 ElseIf (contador < 30) Then MsgBox El Contador es mayor que 20 y menor que 30 End If
ICC2100 Taller de Herramientas Computacionales para Ingeniera
For i = 1 To n Cdigo If tiempo >10 Then Exit For End If Ms Cdigo Next i
ICC2100 Taller de Herramientas Computacionales para Ingeniera
05-11-2012
Para crear un breakpoint haga click en la zona que se encuentra al lado del cdigo (donde est el Continuar punto rojo). Para poder ir paso a paso se puede usar F8 sobre un procedimiento. Se pueden ver las variables con las ventanas Locales, Inmediato e Inspeccin. Para imprimir en Inmediato: Debug.Print x Ejercicio: Ver las variables en el Sub llamado MiFactorial2.
ICC2100 Taller de Herramientas Computacionales para Ingeniera
Resetear
Ventanas Locales
05-11-2012
10
05-11-2012
La propiedad ScreenUpdating le indica a Excel si debe refrescar la pantalla cuando se ejecuta cdigo.
Application.ScreenUpdating = False
11
05-11-2012
La propiedad Names entrega la lista de nombres que se han definido en ese Workbook (ver Sub ContarNombres). La propiedad Path se refiere al directorio donde se encuentra el Workbook. Ejemplo:
directorio = Application.ActiveWorkbook.path
12
05-11-2012
Se pueden nombrar todas las hojas de un archivo usando el comando For Each Next Loop.
Sub MuestraNombres() Dim w As Worksheet For Each w In Worksheets MsgBox w.Name Next End Sub
ICC2100 Taller de Herramientas Computacionales para Ingeniera
13
05-11-2012
Ejercicio: Promediar las celdas Funciones!F2:F13 con la funcin Average de Excel usando un Sub llamado Promediar.
Ejercicio: Hacer correr el sub Rango1() y el sub Rango2() de la hoja Rango y tratar de predecir el resultado de antemano.
ICC2100 Taller de Herramientas Computacionales para Ingeniera
14
05-11-2012
15
05-11-2012
Links
Pueden ver videos tutoriales en www.datapigtechnologies.com. Pueden ver ejemplos de cdigo VBA en http://www.vba-programmer.com/. Pueden ver la pgina del curso para encontrar ms materiales.
16