Your SlideShare is downloading. ×
Curso taller vba macros
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Curso taller vba macros

2,215
views

Published on


1 Comment
6 Likes
Statistics
Notes
No Downloads
Views
Total Views
2,215
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
496
Comments
1
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. CURSO - TALLER DE: PROGRAMACIÓN VBA EN EXCELRpm # 995155060Celular Movistar: 959969912Correo: Excelservicios@hotmail.comWeb: www.excelservicios.comBlog: www.actiweb.es/macros/ 2013
  • 2. 2DIAGRAMA DE FLUJO: LÓGICA DE UN PROGRAMA INICIO PLANTEAMIENTO DEL PROBLEMA (ALGORITMO) PROBLLGRAMA ESCRITURA DEL (CODIFICACIÓN) PROGRAMA COMPILACIÓN SI ¿ERROR? (SINTAXIS) NO EJECUCIÓN SI ¿ERROR? (LÓGICO) NO RESULTADO FIN
  • 3. 3 VBA EN EXCEL¿QUE ES UNA MACRO?Una macro son un conjunto de instrucciones que sirven para automatizarprocesos. Refiriéndonos a Excel, supongamos que realizamos frecuentemente laacción de seleccionar un rango para aplicarle negrita, cambio de fuente y entrado.En lugar de hacer estas acciones manualmente, se puede elaborar una macro einvocarla para que ejecute los tres procesos automáticamente.LOS OBJETOS DE EXCELTodos los objetos de Excel tienen propiedades y métodos. Visual Basic paraAplicación (VBA), el lenguaje de macros de Excel, es una herramienta con el quese podrá controlar los objetos de Excel manipulando sus propiedades ymétodos.Para construir una aplicación en Excel, debemos comprender los conceptos deobjetos, propiedades y métodos, así como conocer los detalles específicossobre propiedades y métodos de los objetos de Excel.Conceptos básicos de Programación Orientada a Objetos1- ObjetoUn objeto es una entidad que tiene asociado un conjunto de métodos, eventos ypropiedades.Ejemplo: Una caja de texto (TextBox) en la cual podemos escribir cualquier líneaes un objeto.2- PropiedadesSon las características que poseen un objeto o un formulario (ventana deWindows).Ejemplo: Color de fondo del formulario, Fuente de texto de un TextBox,….3- MétodosLos métodos son funciones internas de un determinado objeto que permiterealizar funciones sobre él o sobre otro objeto.Ejemplo: Mostrar en la ventana del formulario "Hola mundo", por tanto pondremosel método -> form1.Print "Hola mundo"
  • 4. 44- EventosLos eventos son acciones que se pueden realizar en cualquier control: click,doble click, movimiento del mouse. A estos eventos se les puede asociarcódigo 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 eventos5- Explicación integrada y ejemplo de Objetos, Propiedades, Métodos yEventos.Los formularios y controles de VBA son objetos que exponen sus propiosmétodos, propiedades y eventos. Las propiedades se pueden considerar comoatributos de un objeto, los métodos como sus acciones y los eventos como susrespuestas.Un objeto de uso diario como el globo de un niño tiene también propiedades,métodos y eventos. Entre las propiedades de un globo se incluyen atributosvisibles como el peso, el diámetro y el color. Otras propiedades describen suestado (inflado o desinflado) o atributos que no son visibles, como su edad. Pordefinición, todos los globos tienen estas propiedades; lo que varía de un globo aotros son los valores de estas propiedades.Un globo tiene también métodos o acciones inherentes que puede efectuar. Tieneun método inflar (la acción de llenarlo de helio) o un método desinflar (expeler sucontenido) y un método elevarse (si se deja escapar). De nuevo, todos los globospueden efectuar estos métodos.Los globos tienen además respuestas predefinidas a ciertos eventos externos. Porejemplo, un globo respondería al evento de pincharlo desinflándose o al eventode soltarlo elevándose en el aire.Los objetos tienen propiedades, responden a eventos y ejecutan métodos:
  • 5. 5.Si se pudiera programar un globo, el código de VBA podría ser como el siguienteSINTAXIS: Para asignar un valor a la propiedad de un objeto. Objeto.Propiedad = ValorPara establecer las propiedades del globo:Globo.Color = RojoGlobo.Diámetro = 10Globo.Inflado = TraeObserve la sintaxis del código: el objeto (Globo) seguido de la propiedad (Color)seguida de la asignación del valor (Rojo). Podría modificar el color del globo desdeel código si repitiera esta instrucción y sustituyera el valor por otro diferente.Las propiedades también se pueden establecer en la ventana Propiedadesmientras se está diseñando la aplicación.Los métodos de un globo se invocan de esta forma:SINTAXIS: Para llamar a un método. Objeto.MétodoGlobo.InflarGlobo.DesinflarGlobo.Elevar 5La sintaxis es similar a la sintaxis de las propiedades: el objeto (un nombre)seguido de un método (un verbo). En el tercer ejemplo hay un elemento adicional,llamado argumento, que indica la distancia que se eleva. Algunos métodostendrán uno o más argumentos para describir más a fondo la acción que se va aejecutar.El globo puede responder a un evento como se muestra a continuación:Sub Globo_Pinchazo() Globo.Desinflar Globo.HacerRuido "Bang" Globo.Inflado = False Globo.Diámetro = 1End Sub
  • 6. 6En este caso, el código describe el comportamiento del globo cuando se produceun evento Pinchazo: invoca el método Desinflar y luego invoca el métodoHacerRuido con un argumento “Bang” (el tipo de ruido que se va a hacer). Comoel globo ya no está inflado, la propiedad Inflado tiene el valor False y la propiedadDiámetro adopta un nuevo valor.Si bien no puede programar un globo, sí puede programar un formulario o uncontrol de VBA. Como programador, tiene el control: decide qué propiedades sedeben modificar, qué métodos se deben invocar o a qué eventos hay queresponder para conseguir la apariencia y el comportamiento deseadosRepasemos a continuación todos estos conceptos pero ahora desde el punto devista de algunos de los objetos que nos encontraremos en Excel comoWorkSheet (Objeto hoja de cálculo) 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 característica, modificable o no, de unobjeto. Entre las propiedades de un objeto Range están Value, que contiene elvalor de la casilla, Column y Row que contienen respectivamente la fila y lacolumna de la casilla, Font que contiene la fuente de los caracteres que muestrala casilla, etc.Range, como objeto, también tiene métodos, recordemos que los métodos sirvenllevar a cabo una acción sobre un objeto. Por ejemplo el método Activate, haceactiva una celda determinada, Clear, borra el contenido de una celda o rango deceldas, Copy, copia el contenido de la celda o rango de celdas en elportapapeles,...La siguiente tabla muestra algunas referencias de estilo A1 utilizando el métodoRange. REFERENCIA SIGNIFICADO Range("A1") Celda A1 Range("A1:B5") Celdas de la A1 a la B5 Range("C5:D9,G9:H16") Selección 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. 7 Range("A:A,C:C,F:F") Columnas A, C y FConjuntos.Un conjunto es una colección de objetos del mismo tipo, para los que conozcanalgún lenguaje de programación es un array de objetos. Por ejemplo, dentro deun libro de trabajo puede existir más de una hoja (WorkSheet), todas las hojas deun libro de trabajo forman un conjunto, el conjunto WorkSheets.Cada elemento individual de un conjunto se referencia por un índice, de estaforma, la primera, segunda y tercera hoja de un libro de trabajo, se referenciaránpor WorkSheets (1), WorkSheets (2) y WorkSheets (3).Objetos de Objetos.Es muy habitual que una propiedad de un objeto sea otro objeto. Siguiendo con elcoche, una de las propiedades del coche es el motor, y el motor es un objeto conpropiedades como cubicaje, caballos, número de válvulas, etc. y métodos, comoaumentar_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 también un objeto y Font tiene la propiedadBold (negrita). Tenga esto muy presente ya que utilizaremos frecuentementePropiedades de un objeto que serán también Objetos. Dicho de otra forma, haypropiedades que devuelven objetos, por ejemplo, la propiedad Range de un objetoWorkSheet devuelve un objeto de tipo RangeProgramación Orientada a Objetos o Programación Basada en Objetos.Hay una sutil diferencia entre las definiciones del título. Programación orientada aObjetos, significa que el programador trabaja con objetos fabricados por él mismo,es decir, el programador es quien implementa las clases para luego crear objetosa partir de ellas. Lo que haremos nosotros, por el momento, será utilizar objetos yadefinidos por la aplicación Excel (WorkSheets, Range,...) sin implementarninguno de nuevo, por lo que en nuestro caso es más correcto hablar deprogramación basada en objetos. Observe que esta es una de las grandesventajas de la POO, utilizar objetos definidos por alguien sin tener que conocernada sobre su implementación, sólo debemos conocer sus propiedades y métodosy utilizarlos de forma correcta.Bueno, después de esta extensa pero necesaria introducción pasemos ya a haceralguna cosa en Excel. No es necesario que se aprenda lo anterior al pié de la letray tampoco es necesario que lo comprenda al cien por cien, sólo téngalo presentepara las definiciones que vienen a continuación y verá como va asimilando losconceptos de Objeto, propiedades, métodos, etc.El editor de Visual Basic es la aplicación que utilizaremos para construir las
  • 8. 8macros que interactuaran junto con los libros de trabajo. A continuaciónprepararemos un archivo en el que escribiremos las primeras instrucciones enVisual Basic.Preparar un archivo nuevoPara entrar en el editor de Visual Basic, ejecute los pasos siguientes.1. Active opción Botón de Office/ Opciones de Excel/ Mostrar ficha Programador.2. Se mostrará la Ficha Programador en la Cinta de Opciones.
  • 9. 93. Maximice la ventana para trabajar más cómodamente y procure tener activadas la ventana Explorador de proyectos y la Ventana Propiedades (Ver/ Explorador de proyectos y Ver/ Ventana propiedades).Insertar módulo.
  • 10. 10INSERTAR UN NUEVO MÓDULO.Un módulo sirve para agrupar procedimientos y funciones. El procedimiento y lafunción son entidades de programación que sirven para agrupar instrucciones decódigo que realizan una acción concreta.Para insertar un módulo active opción del menú Insertar/ Módulo. Se activará unanueva ventana, si aparece demasiado pequeña, maximícela.Ya hemos dicho que un procedimiento es un bloque de instrucciones de códigoque sirven para llevar a cabo alguna tarea específica. Un procedimiento empiezasiempre con la instrucciónSub Nombre_Procedimiento()Y termina con la instrucciónEnd SubA continuación crearemos un procedimiento para poner el texto "Hola" en la celdaA1.
  • 11. 11Ejemplo 1Sub Primero() Range ("A1").Value = "Hola"End SubObserve el código.Range("A1").Value="Hola"En esta línea estamos indicando que trabajamos con un objeto Range. Paraindicarle que nos referimos a la celda A1, encerramos entre paréntesis estareferencia (más adelante verá otra forma de referirnos a las celdas). De esteobjeto, indicamos que queremos establecer un nuevo valor para la propiedadValue, observe que para separar el objeto de su propiedad utilizamos la notaciónpunto.Recuerde que el conjunto Range es un objeto que pende del objeto WorkSheets,así por ejemplo el siguiente código haría lo mismo que el anterior. WorkSheets(1).Range ("A1").Value = "Hola"Bueno, de hecho no hace lo mismo, en la primera opción, el texto "Hola" se ponedentro de la celda A1 de la hoja activa, mientras que en el segundo es en la celdaA1 de primera hoja (del conjunto de hojas). La segunda notación es más larga,pero también más recomendable ya que se especifican todos los objetos. Enmuchas ocasiones se pueden omitir algunos objetos precedentes, no leaconsejamos hacerlo, sus programas perderán claridad y concisión.Si desea hacer referencia a la hoja activa puede utilizar ActiveSheet, así, elprimer ejemplo lo dejaremos de la manera siguiente. Sub Primero() ActiveSheet.Range("A1").Value = "Hola" End SubEjecutar un procedimiento o función.Pruebe ejecutar el primer procedimiento de ejemplo.1. Sitúe el cursor dentro del procedimiento.2. Active opción de la barra de menús Ejecutar/ Ejecutar Sub Userform.También puede hacer clic sobre el botón o pulsar la tecla F5.
  • 12. 12Para ejecutar el procedimiento desde la hoja de cálculo.Debe estar en una hoja, no en el editor de Visual Basic1. Active opción de la barra de menús Herramientas/ Macro/ Macros. Se despliega una ventana que muestra una lista donde estás todas las macros incluidas en el libro de trabajo.2. Seleccione la macro de la lista y pulse sobre el botón Ejecutar.En este segundo ejemplo simplemente ampliaremos la funcionalidad de la macrodel ejemplo1. Además de escribir "Hola" en la celda A1 de la celda A1, lapondremos en negrita y le daremos color al texto. Para ello utilizaremos laspropiedades Bold y Color del objeto Font.Sub Segundo()ActiveSheet.Range("A1").Value = "Hola"ActiveSheet.Range("A1").Font.Bold = TrueActiveSheet.Range("A1").Font.Color = RGB(255,0,0)End SubTrue.True, que traducido es verdadero, simplemente indica que la propiedad Bold estáactivada. Si se deseara desactivar, bastaría con igualarla al valor False.La función RGB.Observe que para establecer el color de la propiedad se utiliza la función RGB(Red, Green, Blue), los tres argumentos para esta función son valores del 0 a 255que corresponden a la intensidad de los colores Rojo, Verde y Azulrespectivamente.Referenciar un rango de celdas.Sólo tiene que cambiar a la forma Celda_Inicial:Celda_Final. Por ejemplo aplicarel ú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. 13A continuación 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 textodesde teclado y a continuación guardaremos ese valor en esa celda. Observe queel valor que ingresó el usuario debe guardarse en algún lugar para poder ponerlodespués en la celda A1; pues bien, ese valor se guardará en una variable.Una variable es simplemente un trozo de memoria que la función o procedimientose 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 seguardarán (números, texto, fecha, booleanos,...).En nuestro ejemplo, declararemos la variable de tipo String (tipo texto), y loharemos de la forma siguiente. Dim Texto As StringCon esto estamos indicando que se reserve un trozo de memoria (el que sea), quese llama Texto y que el tipo de datos que se guardarán ahí serán caracteres.FUNCIÓN InputBox.Esta función muestra una ventana para que el usuario pueda teclear datos.Cuando se pulsa sobre Aceptar, los datos entrados pasan a la variable a la quese ha igualado la función. Vea la línea siguiente. Texto = InputBox("Introduzca el texto", "Entrada de datos").Si en la ventana que muestra InputBox pulsa sobre el botón Aceptar, los datostecleados se guardarán el la variable Texto.Sintaxis de InputBox.InputBox(Mensaje, Título, Valor por defecto, Posición horizontal, PosiciónVertical, Archivo ayuda, Número de contexto para la ayuda).Mensaje : Es el mensaje que se muestra en la ventana. Si desea poner más deuna línea ponga Chr(13) para cada nueva línea, vea el ejemplo siguiente.Título : Es el título para la ventana InputBox. Es un parámetro opcional.Valor por defecto: Es el valor que mostrará por defecto el cuadro donde elusuario entra el valor.
  • 14. 14PARÁMETRO OPCIONAL.Posición Horizontal: La posición X de la pantalla donde se mostrará el cuadro,concretamente es la posición para la parte izquierda. Si se omite el cuadro sepresenta horizontalmente centrado a la pantalla.Posición Vertical: La posición Y de la pantalla donde se mostrará el cuadro,concretamente es la posición para la parte superior. Si se omite el cuadro sepresenta verticalmente centrado a la pantalla.Archivo Ayuda: Es el archivo que contiene la ayuda para el cuadro. Parámetroopcional.Número de contexto para la ayuda: Número asignado que corresponde alidentificador del archivo de ayuda, sirve para localizar el texto que se debemostrar. Si se especifica este parámetro, debe especificarse obligatoriamente elparámetro Archivo Ayuda.Sub Entrar_Valor()Dim Texto As String Chr(13) sirve para que el mensaje se muestre en dos Líneas Texto = InputBox("Introducir un texto " & Chr(13) & "Para la celda A1", "Entrada de datos") ActiveSheet.Range("A1").Value = TextoEnd SubEste ejemplo también 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 SubEjemplo 4Repetiremos 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 quiereentrar el valor del primer Inputbox. Serán necesarias dos variables, una paraguardar la celda que escoja el usuario y otra para guardar el valor.
  • 15. 15Option ExplicitSub Entrar_Valor()Dim Celda As StringDim 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 = TextoEnd SubEn visual basic no es necesario declarar las variables, por ejemplo, en el programaanterior se hubiera podido prescindir de las líneas Dim Celda As String Dim Texto As StringA pesar de ello, le recomendamos que siempre declare las variables que va autilizar, de esta forma sabrá cuales utiliza el procedimiento y que tipo de datosguarda cada una, piense que a medida que vaya aprendiendo, crearáprocedimientos cada vez más complicados y que requerirán el uso de másvariables, si no declara las variables al principio del procedimiento ocurrirán doscosas:Primero, las variables no declaradas son asumidas como tipo Variant (este es untipo de datos que puede almacenar cualquier valor, número, fechas, texto, etc.pero tenga en cuenta que ocupa 20 Bytes y para guardar una referencia a unacasilla, la edad de alguien, etc. no son necesarios tantos bytes).Segundo, reducirá considerablemente la legibilidad de sus procedimientos ya quelas variables las irá colocando a medida que las necesite, esto, a la largacomplicará la corrección o modificación del procedimiento.Bueno, pues toda la explicación anterior es para que declare todas las variablesque va a utilizar.La sentencia Option Explicit al principio del módulo fuerza a que se declarentodas las variables. Si al ejecutar el programa, se encuentra alguna variable sindeclarar se producirá un error y no se podrá ejecutar el programa hasta que sedeclare.
  • 16. 16Conversión de Tipos de datos.Copie el siguiente Ejemplo. Simplemente se piden dos números, se suman y seguardan en la celda A1 de la hoja activa.Ejemplo 5Option ExplicitSub Sumar()Dim Numero1 As IntegerDim Numero2 As IntegerNumero1 = InputBox("Entrar el primer valor", "Entrada de datos")Numero2 = InputBox("Entrar el primer valor", "Entrada de datos")ActiveSheet.Range("A1").Value = Numero1 + Numero2End SubAhora, 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 función InputBox devuelve siempre datos tipoString, en el primer ejemplo no ha habido ningún problema, al entrar caracteresnuméricos, estos pueden asignarse a variables tipo Integer porque Visual Basichace automáticamente la conversión, pero al entrar texto e intentarlo asignar a unavariable Integer Visual Basic muestra un error indicando que la variable no esadecuada para los datos que se desean guardar.Para solucionar estos problemas se deben utilizar funciones de conversión de tipo.Estas funciones, como su nombre indica, convierten datos de un tipo a otro, deString a Integer, de Integer a String, de Date a String,... Así el procedimientoanterior quedaría.Option ExplicitSub Sumar()Dim Numero1 As IntegerDim 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 + Numero2End SubLa función Val (Dato String), convierte una cadena de caracteres a valornumérico. Si la cadena a convertir contiene algún carácter no numérico devuelve0. Así, si al pedir un valor se teclea "Hola", la función Val, devolverá un cero.
  • 17. 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. CLASIFICACIÓN: TIPOS DE DATOS TIPOS TIPO TIPOS TIPO TIPO ESTRUCTURADOS PROCEDIMIENTO PUNTERO SIMPLES CADENA ORDINALESENTEROS ARRAYSBOOLEAN SETCHAR RECORDENUMERADO FILESUBRANGO NO ORDINALESREALES TIPOS ENTEROS: TIPO RANGO MEMORIA Integer -32768 a 32767 2 Bytes Long -2”147‟483,648 a 2”147‟483,647 4 Bytes TIPOS REALES: TIPO RANGO MEMORIA Single 3.4E-45 a 3.4E+38 4 Bytes Double 1.7E-308 a 1.7E+308 8 Bytes TIPO CADENA: TIPO RANGO MEMORIA String „a‟..‟z‟, „A‟..‟Z‟, „0‟..‟9‟,‟+‟.‟-„,‟*‟,‟/‟,etc. 1 Byte
  • 18. 18 EXPRESIONES Y OPERADORES1.- EXPRESIÓN: Es un conjunto de operandos mas operadores. EXPRESIÓN = OPERANDOS + OPERADORES Variables *,+,-,/,div,mod,etc. ConstantesEJM:a) 5 * 4b) ( X + 6 ) / 8c) 80 div 5d) not ( X > Y )e) ( X < 80 ) and ( X > 40 )2.- OPERADORES: Se utiliza para formar expresiones.TIPOS: A) OPERADORES MATEMÁTICOS: OPERADOR OPERACIÓN TIPO DE TIPO DE OPERANDO RESULTADO + Suma E ó R E ó R - Resta E ó R E ó R * Multiplicación E ó R E ó R / División Real E E División Entera E E Mod Residuo E EB) OPERADORES BOOLEANOS(LÓGICOS): OPERADOR OPERACIÓN TIPO DE TIPO DE OPERANDO RESULTADO Not Negación Lógica bool bool And And Lógica bool bool Or Or Lógica bool boolC) OPERADORES RELACIONES(CONDICIONALES): OPERADOR OPERACIÓN TIPO DE TIPO DE OPERANDOS RESULTADO = Igual Tipos Compatibles boolean <> No igual Tipos Compatibles boolean < Menor que Tipos Compatibles boolean > Mayor que Tipos Compatibles boolean <= Menor o igual que Tipos Compatibles boolean >= Mayor o igual que Tipos Compatibles boolean
  • 19. 19 ESTRUCTURAS BÁSICASA) ESTRUCTURAS SECUENCIALESConstan esencialmente de sucesivos pasos, uno detrás de otro.Sintaxis:<Instrucciones 1><Instrucciones 2><Instrucciones 3> . . .<Instrucciones n>B) ESTRUCTURAS DE CONTROL CONDICIONALLas estructuras condicionales son instrucciones de programación que permitencontrolar la ejecución de un fragmento de código en función de si se cumple o nouna condición.Estructuras de Decisión Estructura If ... ThenEsta estructura evalúa una condición específica y, si es verdadera, ejecuta todaslas instrucciones que le siguen a la palabra clave Then.Sintaxis:If <condición> Then <Instrucción>End If
  • 20. 20 Estructura If ... Then ... ElsePermite evaluar una condición, si la condición es verdadera ejecuta lasinstrucciones debajo del If sino ejecuta las instrucciones debajo de la cláusulaElse.Sintaxis:If <condición> Then <Instrucciones 1>, ejecuta si condición es verdaderaElse <Instrucciones 2>, ejecuta si condición es falsaEnd If Estructuras If ... AnidadasDentro de una estructura If puede ir otra, y dentro de esta otra y otra.Sintaxis:If <condición 1> Then <Instrucciones 1>, si condición 1 es verdaderaElse If <condición 2> Then <Instrucciones 2>, si condición 2 es verdadera Else If <condición 3> Then <Instrucciones 3>, si condición 3 es verdadera ........................ ........................ Else If <condición n> Then <Instrucciones n>, si condición n es verdadera Else <Instrucciones m>, si ninguna de las condiciones anteriores es verdadera End If End IfEnd If...
  • 21. 21 Estructura Select CaseEs una estructura que evalúa una determinada expresión que puede tenermúltiples alternativas de las cuales se podrá realizar una de ellas, en el caso quesea verdadera sino se evaluaran las instrucciones de la parte falsa debajo de lacláusula 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. 22C) ESTRUCTURAS DE BUCLES O REPETITIVASELEMENTOS AUXILIARESCONTADOR:Es una variable de tipo entero que permite controlar el número de repeticiones quepuede dar un conjunto de instrucciones.Los contadores se pueden inicializar con un valor de 0 ó 1, pero nonecesariamente.Sintaxis:Variable = Variable + valorEjm:Cuáles de las siguientes expresiones, según 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 puedenser: entero, real o cadena.Sintaxis:Variable = Variable + variable1Ejm:Cuáles de las siguientes expresiones, según 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. 23ESTRUCTURAS REPETITIVASSon empleadas en procesos repetitivos basados en rangos o condiciones.Estructuras Do While – Loop o Do Until – Loop.- Permiten ejecutar un conjuntode instrucciones mientras que una condición sea verdadera.Sintaxis:Do While | Until <condición> <Instrucciones>, se ejecutan mientras condición sea verdaderaLoopEstructuras Do – Loop While o Do – Loop Until.- Permiten ejecutar un conjuntode instrucciones hasta que una condición sea verdadera o mientras la condiciónsea falsa.Sintaxis:Do < Instrucciones>, se ejecutan mientras condición es falsaLoop While | Until <condición>Estructura While – Wend.- Permite repetir un conjunto de instrucciones mientrasuna condición sea verdadera.Sintaxis: While <condición> <Instrucciones> „Instrucciones a repetir mientras condición sea verdadera WendSentencia For – Next.- Permite repetir un conjunto de instrucciones desde unvalor inicial hasta un valor final.Sintaxis: For var = Valor Inicial To var Final [Step incremento] <Instrucciones> „Instrucciones a repetir Next [Contador]

×