You are on page 1of 23

CURSO - TALLER DE:

PROGRAMACIN
VBA EN EXCEL






Rpm # 995155060
Celular Movistar: 959969912
Correo: Excelservicios@hotmail.com
Web: www.excelservicios.com
Blog: www.actiweb.es/macros/

2013


2


DIAGRAMA DE FLUJO: LGICA DE UN PROGRAMA











































INICIO
PLANTEAMIENTO
DEL PROBLEMA
PROBLLGRAMA
ESCRITURA DEL
PROGRAMA
COMPILACIN
ERROR?
EJECUCIN
ERROR?
RESULTADO
FIN
SI
NO
SI
NO
(SINTAXIS)
(LGICO)
(ALGORITMO)
(CODIFICACIN)

3

VBA EN EXCEL

QUE ES UNA MACRO?

Una macro son un conjunto de instrucciones que sirven para automatizar
procesos. Refirindonos a Excel, supongamos que realizamos frecuentemente la
accin de seleccionar un rango para aplicarle negrita, cambio de fuente y entrado.
En lugar de hacer estas acciones manualmente, se puede elaborar una macro e
invocarla para que ejecute los tres procesos automticamente.

LOS OBJETOS DE EXCEL

Todos los objetos de Excel tienen propiedades y mtodos. Visual Basic para
Aplicacin (VBA), el lenguaje de macros de Excel, es una herramienta con el que
se podr controlar los objetos de Excel manipulando sus propiedades y
mtodos.
Para construir una aplicacin en Excel, debemos comprender los conceptos de
objetos, propiedades y mtodos, as como conocer los detalles especficos
sobre propiedades y mtodos de los objetos de Excel.

Conceptos bsicos de Programacin Orientada a Objetos

1- Objeto

Un objeto es una entidad que tiene asociado un conjunto de mtodos, eventos y
propiedades.

Ejemplo: Una caja de texto (TextBox) en la cual podemos escribir cualquier lnea
es un objeto.

2- Propiedades

Son las caractersticas que poseen un objeto o un formulario (ventana de
Windows).

Ejemplo: Color de fondo del formulario, Fuente de texto de un TextBox,.

3- Mtodos

Los mtodos son funciones internas de un determinado objeto que permite
realizar funciones sobre l o sobre otro objeto.

Ejemplo: Mostrar en la ventana del formulario "Hola mundo", por tanto pondremos
el mtodo -> form1.Print "Hola mundo"

4

4- Eventos

Los eventos son acciones que se pueden realizar en cualquier control: click,
doble click, movimiento del mouse. A estos eventos se les puede asociar
cdigo para que se ejecute al producir el evento.
Un programa VBA es un POE (Programa orientado a eventos).
Todo lo que hacemos en un programa VBA est generado por medio de eventos

5- Explicacin integrada y ejemplo de Objetos, Propiedades, Mtodos y
Eventos.

Los formularios y controles de VBA son objetos que exponen sus propios
mtodos, propiedades y eventos. Las propiedades se pueden considerar como
atributos de un objeto, los mtodos como sus acciones y los eventos como sus
respuestas.

Un objeto de uso diario como el globo de un nio tiene tambin propiedades,
mtodos y eventos. Entre las propiedades de un globo se incluyen atributos
visibles como el peso, el dimetro y el color. Otras propiedades describen su
estado (inflado o desinflado) o atributos que no son visibles, como su edad. Por
definicin, todos los globos tienen estas propiedades; lo que vara de un globo a
otros son los valores de estas propiedades.

Un globo tiene tambin mtodos o acciones inherentes que puede efectuar. Tiene
un mtodo inflar (la accin de llenarlo de helio) o un mtodo desinflar (expeler su
contenido) y un mtodo elevarse (si se deja escapar). De nuevo, todos los globos
pueden efectuar estos mtodos.
Los globos tienen adems respuestas predefinidas a ciertos eventos externos. Por
ejemplo, un globo respondera al evento de pincharlo desinflndose o al evento
de soltarlo elevndose en el aire.
Los objetos tienen propiedades, responden a eventos y ejecutan mtodos:




5
.
Si se pudiera programar un globo, el cdigo de VBA podra ser como el siguiente

SINTAXIS: Para asignar un valor a la propiedad de un objeto.





Para establecer las propiedades del globo:

Globo.Color = Rojo
Globo.Dimetro = 10
Globo.Inflado = Trae

Observe la sintaxis del cdigo: el objeto (Globo) seguido de la propiedad (Color)
seguida de la asignacin del valor (Rojo). Podra modificar el color del globo desde
el cdigo si repitiera esta instruccin y sustituyera el valor por otro diferente.
Las propiedades tambin se pueden establecer en la ventana Propiedades
mientras se est diseando la aplicacin.

Los mtodos de un globo se invocan de esta forma:

SINTAXIS: Para llamar a un mtodo.





Globo.Inflar
Globo.Desinflar
Globo.Elevar 5

La sintaxis es similar a la sintaxis de las propiedades: el objeto (un nombre)
seguido de un mtodo (un verbo). En el tercer ejemplo hay un elemento adicional,
llamado argumento, que indica la distancia que se eleva. Algunos mtodos
tendrn uno o ms argumentos para describir ms a fondo la accin que se va a
ejecutar.

El globo puede responder a un evento como se muestra a continuacin:

Sub Globo_Pinchazo()
Globo.Desinflar
Globo.HacerRuido "Bang"
Globo.Inflado = False
Globo.Dimetro = 1
End Sub

Objeto.Propiedad = Valor




Objeto.Mtodo




6

En este caso, el cdigo describe el comportamiento del globo cuando se produce
un evento Pinchazo: invoca el mtodo Desinflar y luego invoca el mtodo
HacerRuido con un argumento Bang (el tipo de ruido que se va a hacer). Como
el globo ya no est inflado, la propiedad Inflado tiene el valor False y la propiedad
Dimetro adopta un nuevo valor.

Si bien no puede programar un globo, s puede programar un formulario o un
control de VBA. Como programador, tiene el control: decide qu propiedades se
deben modificar, qu mtodos se deben invocar o a qu eventos hay que
responder para conseguir la apariencia y el comportamiento deseados

Repasemos a continuacin todos estos conceptos pero ahora desde el punto de
vista de algunos de los objetos que nos encontraremos en Excel como
WorkSheet (Objeto hoja de clculo) o Range (Objeto celda o rango de celdas).

Un objeto Range est definido por una clase donde se definen sus propiedades,
recordemos que una propiedad es una caracterstica, modificable o no, de un
objeto. Entre las propiedades de un objeto Range estn Value, que contiene el
valor de la casilla, Column y Row que contienen respectivamente la fila y la
columna de la casilla, Font que contiene la fuente de los caracteres que muestra
la casilla, etc.

Range, como objeto, tambin tiene mtodos, recordemos que los mtodos sirven
llevar a cabo una accin sobre un objeto. Por ejemplo el mtodo Activate, hace
activa una celda determinada, Clear, borra el contenido de una celda o rango de
celdas, Copy, copia el contenido de la celda o rango de celdas en el
portapapeles,...

La siguiente tabla muestra algunas referencias de estilo A1 utilizando el mtodo
Range.
REFERENCIA SIGNIFICADO
Range("A1")
Celda A1
Range("A1:B5")
Celdas de la A1 a la B5
Range("C5:D9,G9:H16")
Seleccin de varias reas
Range("A:A")
Columna A
Range("1:1")
Fila 1
Range("A:C")
Columnas de la A a la C
Range("1:5")
Filas de la 1 a la 5
Range("1:1,3:3,8:8")
Filas 1, 3 y 8

7



Conjuntos.

Un conjunto es una coleccin de objetos del mismo tipo, para los que conozcan
algn lenguaje de programacin es un array de objetos. Por ejemplo, dentro de
un libro de trabajo puede existir ms de una hoja (WorkSheet), todas las hojas de
un libro de trabajo forman un conjunto, el conjunto WorkSheets.
Cada elemento individual de un conjunto se referencia por un ndice, de esta
forma, la primera, segunda y tercera hoja de un libro de trabajo, se referenciarn
por WorkSheets (1), WorkSheets (2) y WorkSheets (3).

Objetos de Objetos.

Es muy habitual que una propiedad de un objeto sea otro objeto. Siguiendo con el
coche, una de las propiedades del coche es el motor, y el motor es un objeto con
propiedades como cubicaje, caballos, nmero de vlvulas, etc. y mtodos, como
aumentar_revoluciones, coger_combustible, mover_pistones, etc.

En Excel, el objeto WorkSheets tiene la propiedad Range que es un objeto,
Range tiene la propiedad Font que es tambin un objeto y Font tiene la propiedad
Bold (negrita). Tenga esto muy presente ya que utilizaremos frecuentemente
Propiedades de un objeto que sern tambin Objetos. Dicho de otra forma, hay
propiedades que devuelven objetos, por ejemplo, la propiedad Range de un objeto
WorkSheet devuelve un objeto de tipo Range

Programacin Orientada a Objetos o Programacin Basada en Objetos.

Hay una sutil diferencia entre las definiciones del ttulo. Programacin orientada a
Objetos, significa que el programador trabaja con objetos fabricados por l mismo,
es decir, el programador es quien implementa las clases para luego crear objetos
a partir de ellas. Lo que haremos nosotros, por el momento, ser utilizar objetos ya
definidos por la aplicacin Excel (WorkSheets, Range,...) sin implementar
ninguno de nuevo, por lo que en nuestro caso es ms correcto hablar de
programacin basada en objetos. Observe que esta es una de las grandes
ventajas de la POO, utilizar objetos definidos por alguien sin tener que conocer
nada sobre su implementacin, slo debemos conocer sus propiedades y mtodos
y utilizarlos de forma correcta.

Bueno, despus de esta extensa pero necesaria introduccin pasemos ya a hacer
alguna cosa en Excel. No es necesario que se aprenda lo anterior al pi de la letra
y tampoco es necesario que lo comprenda al cien por cien, slo tngalo presente
para las definiciones que vienen a continuacin y ver como va asimilando los
conceptos de Objeto, propiedades, mtodos, etc.

El editor de Visual Basic es la aplicacin que utilizaremos para construir las
Range("A:A,C:C,F:F")
Columnas A, C y F

8
macros que interactuaran junto con los libros de trabajo. A continuacin
prepararemos un archivo en el que escribiremos las primeras instrucciones en
Visual Basic.
Preparar un archivo nuevo

Para entrar en el editor de Visual Basic, ejecute los pasos siguientes.

1. Active opcin Botn de Office/ Opciones de Excel/ Mostrar ficha
Programador.


















2. Se mostrar la Ficha Programador en la Cinta de Opciones.




9
3. Maximice la ventana para trabajar ms cmodamente y procure tener
activadas la ventana Explorador de proyectos y la Ventana Propiedades
(Ver/ Explorador de proyectos y Ver/ Ventana propiedades).





















Insertar mdulo.























10
INSERTAR UN NUEVO MDULO.

Un mdulo sirve para agrupar procedimientos y funciones. El procedimiento y la
funcin son entidades de programacin que sirven para agrupar instrucciones de
cdigo que realizan una accin concreta.

Para insertar un mdulo active opcin del men Insertar/ Mdulo. Se activar una
nueva ventana, si aparece demasiado pequea, maximcela.

Ya hemos dicho que un procedimiento es un bloque de instrucciones de cdigo
que sirven para llevar a cabo alguna tarea especfica. Un procedimiento empieza
siempre con la instruccin

Sub Nombre_Procedimiento()

Y termina con la instruccin

End Sub

A continuacin crearemos un procedimiento para poner el texto "Hola" en la celda
A1.



11
Ejemplo 1

Sub Primero()

Range ("A1").Value = "Hola"

End Sub

Observe el cdigo.

Range("A1").Value="Hola"

En esta lnea estamos indicando que trabajamos con un objeto Range. Para
indicarle que nos referimos a la celda A1, encerramos entre parntesis esta
referencia (ms adelante ver otra forma de referirnos a las celdas). De este
objeto, indicamos que queremos establecer un nuevo valor para la propiedad
Value, observe que para separar el objeto de su propiedad utilizamos la notacin
punto.

Recuerde que el conjunto Range es un objeto que pende del objeto WorkSheets,
as por ejemplo el siguiente cdigo hara lo mismo que el anterior.

WorkSheets(1).Range ("A1").Value = "Hola"

Bueno, de hecho no hace lo mismo, en la primera opcin, el texto "Hola" se pone
dentro de la celda A1 de la hoja activa, mientras que en el segundo es en la celda
A1 de primera hoja (del conjunto de hojas). La segunda notacin es ms larga,
pero tambin ms recomendable ya que se especifican todos los objetos. En
muchas ocasiones se pueden omitir algunos objetos precedentes, no le
aconsejamos hacerlo, sus programas perdern claridad y concisin.
Si desea hacer referencia a la hoja activa puede utilizar ActiveSheet, as, el
primer ejemplo lo dejaremos de la manera siguiente.

Sub Primero()

ActiveSheet.Range("A1").Value = "Hola"

End Sub

Ejecutar un procedimiento o funcin.

Pruebe ejecutar el primer procedimiento de ejemplo.

1. Site el cursor dentro del procedimiento.
2. Active opcin de la barra de mens Ejecutar/ Ejecutar Sub Userform.

Tambin puede hacer clic sobre el botn
o pulsar la tecla F5.

12
Para ejecutar el procedimiento desde la hoja de clculo.

Debe estar en una hoja, no en el editor de Visual Basic

1. Active opcin de la barra de mens Herramientas/ Macro/ Macros. Se
despliega una ventana que muestra una lista donde ests todas las macros
incluidas en el libro de trabajo.

2. Seleccione la macro de la lista y pulse sobre el botn Ejecutar.

En este segundo ejemplo simplemente ampliaremos la funcionalidad de la macro
del ejemplo1. Adems de escribir "Hola" en la celda A1 de la celda A1, la
pondremos en negrita y le daremos color al texto. Para ello utilizaremos las
propiedades Bold y Color del objeto Font.

Sub Segundo()

ActiveSheet.Range("A1").Value = "Hola"
ActiveSheet.Range("A1").Font.Bold = True
ActiveSheet.Range("A1").Font.Color = RGB(255,0,0)

End Sub

True.

True, que traducido es verdadero, simplemente indica que la propiedad Bold est
activada. Si se deseara desactivar, bastara con igualarla al valor False.

La funcin RGB.

Observe que para establecer el color de la propiedad se utiliza la funcin RGB
(Red, Green, Blue), los tres argumentos para esta funcin son valores del 0 a 255
que corresponden a la intensidad de los colores Rojo, Verde y Azul
respectivamente.

Referenciar un rango de celdas.

Slo tiene que cambiar a la forma Celda_Inicial:Celda_Final. Por ejemplo aplicar
el ltimo ejemplo al rango de celdas que va de la A1 a la A8, ponga.

Sub Segundo()

ActiveSheet.Range("A1:A8").Value = "Hola"
ActiveSheet.Range("A1:A8").Font.Bold = True
ActiveSheet.Range("A1:A8").Font.Color = RGB(255,0,0)

End Sub

13
A continuacin vamos a repetir el programa Ejemplo1, pero en lugar de poner
"Hola" en la celda A1 de la hoja activa, dejaremos que el usuario entre un texto
desde teclado y a continuacin guardaremos ese valor en esa celda. Observe que
el valor que ingres el usuario debe guardarse en algn lugar para poder ponerlo
despus en la celda A1; pues bien, ese valor se guardar en una variable.

Una variable es simplemente un trozo de memoria que la funcin o procedimiento
se reserva para guardar datos, la forma general de declarar una variable es

Dim Nom_var As Tipo.

Siendo variable el nombre que se asigna a la misma y Tipo el tipo de datos que se
guardarn (nmeros, texto, fecha, booleanos,...).

En nuestro ejemplo, declararemos la variable de tipo String (tipo texto), y lo
haremos de la forma siguiente.

Dim Texto As String

Con esto estamos indicando que se reserve un trozo de memoria (el que sea), que
se llama Texto y que el tipo de datos que se guardarn ah sern caracteres.

FUNCIN InputBox.

Esta funcin muestra una ventana para que el usuario pueda teclear datos.
Cuando se pulsa sobre Aceptar, los datos entrados pasan a la variable a la que
se ha igualado la funcin. Vea la lnea siguiente.

Texto = InputBox("Introduzca el texto", "Entrada de datos").

Si en la ventana que muestra InputBox pulsa sobre el botn Aceptar, los datos
tecleados se guardarn el la variable Texto.

Sintaxis de InputBox.

InputBox(Mensaje, Ttulo, Valor por defecto, Posicin horizontal, Posicin
Vertical, Archivo ayuda, Nmero de contexto para la ayuda).

Mensaje : Es el mensaje que se muestra en la ventana. Si desea poner ms de
una lnea ponga Chr(13) para cada nueva lnea, vea el ejemplo siguiente.

Ttulo : Es el ttulo para la ventana InputBox. Es un parmetro opcional.

Valor por defecto: Es el valor que mostrar por defecto el cuadro donde el
usuario entra el valor.



14
PARMETRO OPCIONAL.

Posicin Horizontal: La posicin X de la pantalla donde se mostrar el cuadro,
concretamente es la posicin para la parte izquierda. Si se omite el cuadro se
presenta horizontalmente centrado a la pantalla.

Posicin Vertical: La posicin Y de la pantalla donde se mostrar el cuadro,
concretamente es la posicin para la parte superior. Si se omite el cuadro se
presenta verticalmente centrado a la pantalla.

Archivo Ayuda: Es el archivo que contiene la ayuda para el cuadro. Parmetro
opcional.

Nmero de contexto para la ayuda: Nmero asignado que corresponde al
identificador del archivo de ayuda, sirve para localizar el texto que se debe
mostrar. Si se especifica este parmetro, debe especificarse obligatoriamente el
parmetro Archivo Ayuda.

Sub Entrar_Valor()

Dim Texto As String

' Chr(13) sirve para que el mensaje se muestre en dos Lneas
Texto = InputBox("Introducir un texto " & Chr(13) & "Para la celda A1",
"Entrada de datos")
ActiveSheet.Range("A1").Value = Texto

End Sub

Este ejemplo tambin se puede hacer sin variables.

Sub Entrar_Valor()

ActiveSheet.Range("A1").Value = InputBox("Introducir un texto " &
Chr(13) & "Para la celda A1", "Entrada de datos")

End Sub

Ejemplo 4

Repetiremos el ejemplo 3, pero en lugar de entrar los valores sobre la celda A1,
haremos que el usuario pueda elegir en que celda quiere entrar los datos, es decir,
se le preguntar al usuario mediante un segundo Inputbox sobre que celda quiere
entrar el valor del primer Inputbox. Sern necesarias dos variables, una para
guardar la celda que escoja el usuario y otra para guardar el valor.


15
Option Explicit
Sub Entrar_Valor()

Dim Celda As String
Dim Texto As String

Celda = InputBox("En que celda quiere entrar el valor", "Entrar Celda")
Texto = InputBox("Introducir un texto " & Chr(13) & "Para la celda " & Celda
, "Entrada de datos")
ActiveSheet.Range(Celda).Value = Texto

End Sub

En visual basic no es necesario declarar las variables, por ejemplo, en el programa
anterior se hubiera podido prescindir de las lneas

Dim Celda As String
Dim Texto As String

A pesar de ello, le recomendamos que siempre declare las variables que va a
utilizar, de esta forma sabr cuales utiliza el procedimiento y que tipo de datos
guarda cada una, piense que a medida que vaya aprendiendo, crear
procedimientos cada vez ms complicados y que requerirn el uso de ms
variables, si no declara las variables al principio del procedimiento ocurrirn dos
cosas:
Primero, las variables no declaradas son asumidas como tipo Variant (este es un
tipo de datos que puede almacenar cualquier valor, nmero, fechas, texto, etc.
pero tenga en cuenta que ocupa 20 Bytes y para guardar una referencia a una
casilla, la edad de alguien, etc. no son necesarios tantos bytes).

Segundo, reducir considerablemente la legibilidad de sus procedimientos ya que
las variables las ir colocando a medida que las necesite, esto, a la larga
complicar la correccin o modificacin del procedimiento.

Bueno, pues toda la explicacin anterior es para que declare todas las variables
que va a utilizar.

La sentencia Option Explicit al principio del mdulo fuerza a que se declaren
todas las variables. Si al ejecutar el programa, se encuentra alguna variable sin
declarar se producir un error y no se podr ejecutar el programa hasta que se
declare.




16
Conversin de Tipos de datos.

Copie el siguiente Ejemplo. Simplemente se piden dos nmeros, se suman y se
guardan en la celda A1 de la hoja activa.

Ejemplo 5

Option Explicit

Sub Sumar()

Dim Numero1 As Integer
Dim Numero2 As Integer
Numero1 = InputBox("Entrar el primer valor", "Entrada de datos")
Numero2 = InputBox("Entrar el primer valor", "Entrada de datos")
ActiveSheet.Range("A1").Value = Numero1 + Numero2

End Sub

Ahora, vuelva a ejecutar el programa y cuando se le pide el primer valor teclee
"Hola". Observe que el programa se detiene indicando un error en el tipo de datos.
Efectivamente, observe que la funcin InputBox devuelve siempre datos tipo
String, en el primer ejemplo no ha habido ningn problema, al entrar caracteres
numricos, estos pueden asignarse a variables tipo Integer porque Visual Basic
hace automticamente la conversin, pero al entrar texto e intentarlo asignar a una
variable Integer Visual Basic muestra un error indicando que la variable no es
adecuada para los datos que se desean guardar.
Para solucionar estos problemas se deben utilizar funciones de conversin de tipo.
Estas funciones, como su nombre indica, convierten datos de un tipo a otro, de
String a Integer, de Integer a String, de Date a String,... As el procedimiento
anterior quedara.

Option Explicit

Sub Sumar()

Dim Numero1 As Integer
Dim Numero2 As Integer

Numero1 = Val(InputBox("Entrar el primer valor", "Entrada de datos"))
Numero2 = Val(InputBox("Entrar el primer valor", "Entrada de datos"))
ActiveSheet.Range("A1").Value = Numero1 + Numero2

End Sub

La funcin Val (Dato String), convierte una cadena de caracteres a valor
numrico. Si la cadena a convertir contiene algn carcter no numrico devuelve
0. As, si al pedir un valor se teclea "Hola", la funcin Val, devolver un cero.

17
TIPOS DE DATOS

TIPO: Determina la naturaleza del dominio de valores que puede tomar una
variable, las operaciones en que puede participar y el espacio de memoria que
necesita.

CLASIFICACIN:
TIPOS ENTEROS:

TIPO RANGO MEMORIA

Integer

Long


-32768 a 32767

-2147483,648 a 2147483,647

2 Bytes

4 Bytes

TIPOS REALES:

TIPO RANGO MEMORIA

Single

Double


3.4E-45 a 3.4E+38

1.7E-308 a 1.7E+308

4 Bytes

8 Bytes

TIPO CADENA:

TIPO RANGO MEMORIA

String


a..z, A..Z, 0..9,+.-,*,/,etc.

1 Byte
TIPOS DE
DATOS
TIPOS
SIMPLES
ORDINALES
ENTEROS
BOOLEAN
CHAR
ENUMERADO
SUBRANGO
NO ORDINALES
REALES
TIPO
CADENA
TIPOS
ESTRUCTURADOS
ARRAYS
SET
RECORD
FILE
TIPO
PROCEDIMIENTO
TIPO
PUNTERO

18
EXPRESIONES Y OPERADORES

1.- EXPRESIN: Es un conjunto de operandos mas operadores.

EXPRESIN = OPERANDOS + OPERADORES
Variables *,+,-,/,div,mod,etc.
Constantes
EJM:
a) 5 * 4
b) ( X + 6 ) / 8
c) 80 div 5
d) not ( X > Y )
e) ( X < 80 ) and ( X > 40 )

2.- OPERADORES: Se utiliza para formar expresiones.

TIPOS:
A) OPERADORES MATEMTICOS:

OPERADOR OPERACIN TIPO DE
OPERANDO
TIPO DE
RESULTADO
+
-
*
/
\
Mod
Suma
Resta
Multiplicacin
Divisin Real
Divisin Entera
Residuo
E R
E R
E R
E
E
E
E R
E R
E R
E
E
E

B) OPERADORES BOOLEANOS(LGICOS):

OPERADOR OPERACIN TIPO DE
OPERANDO
TIPO DE
RESULTADO
Not
And
Or
Negacin Lgica
And Lgica
Or Lgica
bool
bool
bool
bool
bool
bool

C) OPERADORES RELACIONES(CONDICIONALES):

OPERADOR OPERACIN TIPO DE
OPERANDOS
TIPO DE
RESULTADO
=
<>
<
>
<=
>=
Igual
No igual
Menor que
Mayor que
Menor o igual que
Mayor o igual que
Tipos Compatibles
Tipos Compatibles
Tipos Compatibles
Tipos Compatibles
Tipos Compatibles
Tipos Compatibles
boolean
boolean
boolean
boolean
boolean
boolean


19
ESTRUCTURAS BSICAS


A) ESTRUCTURAS SECUENCIALES

Constan esencialmente de sucesivos pasos, uno detrs de otro.

Sintaxis:

<Instrucciones 1>

<Instrucciones 2>

<Instrucciones 3>
.
.
.
<Instrucciones n>


B) ESTRUCTURAS DE CONTROL CONDICIONAL

Las estructuras condicionales son instrucciones de programacin que permiten
controlar la ejecucin de un fragmento de cdigo en funcin de si se cumple o no
una condicin.


Estructuras de Decisin


Estructura If ... Then

Esta estructura evala una condicin especfica y, si es verdadera, ejecuta todas
las instrucciones que le siguen a la palabra clave Then.

Sintaxis:

If <condicin> Then

<Instruccin>

End If




20
Estructura If ... Then ... Else
Permite evaluar una condicin, si la condicin es verdadera ejecuta las
instrucciones debajo del If sino ejecuta las instrucciones debajo de la clusula
Else.

Sintaxis:

If <condicin> Then
<Instrucciones 1>, ejecuta si condicin es verdadera
Else
<Instrucciones 2>, ejecuta si condicin es falsa
End If

Estructuras If ... Anidadas

Dentro de una estructura If puede ir otra, y dentro de esta otra y otra.

Sintaxis:

If <condicin 1> Then
<Instrucciones 1>, si condicin 1 es verdadera
Else

If <condicin 2> Then
<Instrucciones 2>, si condicin 2 es verdadera
Else

If <condicin 3> Then
<Instrucciones 3>, si condicin 3 es verdadera
........................
........................
Else

If <condicin n> Then
<Instrucciones n>, si condicin n es verdadera
Else
<Instrucciones m>, si ninguna de las condiciones anteriores es verdadera
End If

End If

End If
.
.
.

21
Estructura Select Case

Es una estructura que evala una determinada expresin que puede tener
mltiples alternativas de las cuales se podr realizar una de ellas, en el caso que
sea verdadera sino se evaluaran las instrucciones de la parte falsa debajo de la
clusula Case Else.

Sintaxis:

Select Case <Expresion>

Case valor 1 {S valor 1 es verdad}

<Instrucciones 1>

Case valor 2 {S valor 2 es verdad}

<Instrucciones 2>

Case valor 3 {S valor 3 es verdad}

<Instrucciones 3>
.
.
.

Case valor n

<Instrucciones n> {S valor N es verdad}

Case Else

<Instrucciones m> {Sino son verdaderos los valores anteriores}

End Select












22
C) ESTRUCTURAS DE BUCLES O REPETITIVAS

ELEMENTOS AUXILIARES

CONTADOR:

Es una variable de tipo entero que permite controlar el nmero de repeticiones que
puede dar un conjunto de instrucciones.
Los contadores se pueden inicializar con un valor de 0 1, pero no
necesariamente.

Sintaxis:

Variable = Variable + valor

Ejm:

Cules de las siguientes expresiones, segn la sintaxis es verdadera o falsa.

1) x = x + 1 ( )
2) y = y + 4 ( )
3) m = m + p ( )
4) z = z 5 ( )
5) a = b + 8 ( )


ACUMULADOR:

Es una variable recipiente que permite guardar un conjunto de valores que pueden
ser: entero, real o cadena.

Sintaxis:

Variable = Variable + variable1

Ejm:

Cules de las siguientes expresiones, segn la sintaxis es verdadera o falsa.

1) x = x + y ( )
2) p = p + q ( )
3) m = m +3 ( )
4) t = t + v ( )
5) a = b + c ( )



23
ESTRUCTURAS REPETITIVAS

Son empleadas en procesos repetitivos basados en rangos o condiciones.

Estructuras Do While Loop o Do Until Loop.- Permiten ejecutar un conjunto
de instrucciones mientras que una condicin sea verdadera.

Sintaxis:

Do While | Until <condicin>

<Instrucciones>, se ejecutan mientras condicin sea verdadera

Loop

Estructuras Do Loop While o Do Loop Until.- Permiten ejecutar un conjunto
de instrucciones hasta que una condicin sea verdadera o mientras la condicin
sea falsa.

Sintaxis:

Do

< Instrucciones>, se ejecutan mientras condicin es falsa

Loop While | Until <condicin>

Estructura While Wend.- Permite repetir un conjunto de instrucciones mientras
una condicin sea verdadera.

Sintaxis:

While <condicin>

<Instrucciones> Instrucciones a repetir mientras condicin sea
verdadera

Wend

Sentencia For Next.- Permite repetir un conjunto de instrucciones desde un
valor inicial hasta un valor final.

Sintaxis:

For var = Valor Inicial To var Final [Step incremento]

<Instrucciones> Instrucciones a repetir

Next [Contador]

You might also like