Академический Документы
Профессиональный Документы
Культура Документы
PROGRAMACIN II
1.
INTRODUCCIN
Las macros grabadas se ejecutan linealmente, de inicio a fin. Sin embargo,
puede haber la necesidad de que la secuencialidad de las instrucciones de
una macro deba depender de la evaluacin de alguna condicin: el
contenido de alguna celda o la accin del usuario, por ejemplo.
De igual manera, puede haber necesidad de ejecutar un conjunto de
instrucciones un nmero fijo o variable de veces, dependiendo de alguna
condicin.
Entre las condiciones que pueden propiciar la ejecucin de una macro estn
los eventos: presionar una tecla, insertar una nueva hoja, cerrar un libro, etc.
Las instrucciones y los eventos que permiten el control del flujo de ejecucin
de los programas se revisarn en la presente unidad.
2.
OBJETIVOS
Utilizar instrucciones de control de flujo
Utilizar instrucciones secuenciales y condicionales
Manejo de eventos
3.
TIPOS DE INSTRUCCIONES
La mayora de lenguajes de programacin, y VBA tambin, soporta estos
tipos de instrucciones:
Cuadro N 01
Instruccin
Secuencial
If-Then
Select Case
96
Descripcin
Realiza instrucciones en general una despus
de otra.
Ejecuta un grupo de instrucciones si alguna
condicin es verdadera
Dependiendo de alguna condicin, decide
ejecutar una de varias instrucciones
3.1.
Instruccin secuencial
Consiste en seguir una secuencia de pasos en un orden
predeterminado.
Por ejemplo: Realizar un programa que a partir de un nmero N de
das, calcula la cantidad de segundos que hay en esta cantidad de
das. Este programa se puede ver como una secuencia de varios
pasos:
Inicio: Ingresa el numero N de das
Paso1: Hora = 24*N, para determinar la cantidad de horas
Paso2: Minuto = 60*Hora, para determinar la cantidad de minutos.
Paso3: Segundo = 60*Minuto, para determinar la cantidad de
segundos.
Paso4: Mostrar Segundo.
Fin
3.2.
Instruccin If-Then
Esta instruccin tiene la forma general siguiente:
If condicin Then
instrucciones1
Else
instrucciones2
End If
Si la condicin resulta verdadera, se ejecutarn las instrucciones
escritas luego de la clusula Then (instrucciones1); y si resulta falsa, se
ejecutarn las instrucciones escritas luego de Else (instrucciones2)
hasta la clusula que indica el fin de la instruccin End If .
Ejemplo:
Figura N 1
97
3.3.
.
.
.
End Select
Se evala la expresin; si la condicin1 resulta verdadera, se ejecutarn
el grupo de instrucciones instrucciones1 y terminar la instruccin
select; si la condicin2 es verdadera, se ejecutar el grupo de
instrucciones instrucciones2 y terminar la instruccin select; y as
sucesivamente.
En este ejemplo, se evala el valor de la variable Cantidad:
Figura N 2
98
4.
EVENTOS
Un evento es algo que ocurre en Excel: abrir un libro, ingresar un dato a una
celda, presionar una tecla, ocurrencia de un error, un clic sobre algn objeto,
etc.
En determinados casos, puede ser til ejecutar un programa
automticamente cuando ocurra algn evento. Por ejemplo, mostrar un aviso
informativo al usuario apenas abra el libro Excel. Para ello, se podra asociar
un programa al evento Abrir Libro.
Para asociar programas a los eventos de un libro utilice el panel de Proyectos
del Editor de Visual Basic y seleccione el objeto ThisWorkbook de la carpeta
Microsoft Excel Objetos.
Figura N 3
4.1.
Evento Open
El procedimiento asociado se ejecutar automticamente cada vez
que se abra este libro Excel. En el Panel de cdigo, seleccione el
objeto Workbook y el procedimiento Open.
99
Figura N 4
En la parte inferior del Panel de cdigo se mostrar las instrucciones
inicial Private Sub Workbook_Open() y final End Sub del
procedimiento. Entre ellas debe escribir el cdigo de su programa.
Ejemplo:
Figura N 5
Evento BeforeClose
El procedimiento asociado a este evento se ejecutar inmediatamente
antes de que el libro se cierre. Seleccione el objeto Workbook y el
procedimiento BeforeClose.
100
Figura N 6
Este procedimiento ejemplo se ejecutar inmediatamente antes de
que se cierre el libro Excel. Mostrar el mensaje siguiente.
Figura N 7
Al presionar el botn S se grabar una copia en la carpeta COPIAS
de la unidad D:
4.3.
Figura N 8
Esta macro ubica el cursor en la celda D5 y muestra el nombre de la
hoja activa.
101
4.4.
4.5.
Evento
Cundo ocurre
BeforePrint
El libro es impreso
BeforeSave
El libro es guardado
NewSheet
SheetChange
WindowResize
La ventana se redimensiona
Figura N 9
En el Panel de Cdigo seleccione el Objeto Worksheet y el
procedimiento que quiera asociar.
Figura N 10
102
Ejemplo:
Normalmente, al hacer clic derecho sobre una celda se muestra un
men contextual de celda. El procedimiento siguiente se ejecutar
antes de que esto ocurra. Y si la celda tiene formato numrico y no
est vaca, se mostrar la ficha Nmero del dilogo Formato de
celdas.
Figura N 11
Figura N 11
103
5.
REFERENCIAS BIBLIOGRFICAS
Vila Velasquez, Fermi (2004) VBA Excel 2002/2000:49 ejercicios
prcticos. Mxico D.F.: Alfaomega (005.368E/V5).
Perry, Gail. Excel 2007 Macros Made Easy. Mc Graw Hill Companies.
2009.
Walkenbach, John. Excel 2007 VBA Programming for Dummies. Wiley
Publishing Inc. 2007.
Walkenbach, John. Excel 2007 Power Programming with VBA. John
Wiley and Sons. 2007.
Se ha utilizado como consulta la pgina de Microsoft Latinoamrica:
http://office.microsoft.com/es-es/training/CR100479683082.aspx
104