0% encontró este documento útil (0 votos)
13 vistas14 páginas

Clase 03

Cargado por

francisco1591
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas14 páginas

Clase 03

Cargado por

francisco1591
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 14

Informática para Economistas

Clase 3
• Instrucciones de Mensajes
• Introducción a la programación estructurada
• Estructuras de programación
 Estructuras condicionales:
 IF, ELSEIF
 SELECT CASE
Instrucciones de mensajes en VBA
Como veremos en los ejemplos posteriores, VBA cuenta con dos
funciones básicas de comunicación con el usuario:
• MsgBox: muestra un mensaje en un cuadro de diálogo, espera que el
usuario haga clic en un botón y devuelve un tipo Integer
correspondiente al botón elegido por el usuario.
La sintaxis de este comando es:
MsgBox( Mensaje, Botones, Título, Archivo de ayuda, contexto)

Mensaje : Obligatorio, es el mensaje que se muestra dentro del cuadro de diálogo.


Botones : Opcional. Es un número o una suma de números o constantes (vea tabla Valores para
botones e Iconos), que sirve para mostrar determinados botones e iconos dentro del cuadro
de diálogo. Si se omite este argumento asume valor 0 que corresponde a un único Botón
OK.
Título : Opcional. Es el texto que se mostrará en la barra del título del cuadro de diálogo.
Archivo de Ayuda : Opcional. Si ha asignado un texto de ayuda al cuadro de diálogo, aquí debe
especificar el nombre del archivo de ayuda donde está el texto.
Context: Opcional. Es el número que sirve para identificar el texto al tema de ayuda
correspondiente que estará contenido en el archivo especificado en el parámetro Archivo de
Ayuda.
Instrucciones de mensajes en VBA
Tabla para botones e iconos del cuadro MsgBox.
Instrucciones de mensajes en VBA
• InputBox: Muestra un mensaje en un cuadro de diálogo, espera que
el usuario escriba un texto o haga clic en un botón y devuelve un tipo
String con el contenido del cuadro de texto.
La sintaxis de este comando es:
InputBox(Mensaje, Título, Valor por defecto, Posición horizontal,
Posición Vertical, Archivo ayuda, Número de contexto para la ayuda)

Mensaje : Es el mensaje que se muestra en la ventana.


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 el usuario entra el valor.
Parámetro opcional.
Posición Horizontal y Vertical : La posición X e Y de la pantalla donde se mostrará el cuadro. Si se
omite el cuadro se presenta horizontalmente centrado a la pantalla.
Archivo Ayuda: Es el vinculo si se desea incorporar una ayuda para el cuadro. Parámetro opcional.
Número de contexto para la ayuda: Número asignado que corresponde al identificador del archivo
de ayuda, sirve para localizar el texto que se debe mostrar. Si se especifica este parámetro,
debe especificarse obligatoriamente el parámetro Archivo Ayuda.
Programación Estructurada
¿Cuál es la ventaja principal de programar?
• La ventaja principal es la ejecutar tareas repetitivas
utilizando la mínima cantidad posible de variables de
control. Ejemplo: Copiar datos de una hoja a otra.
• Para controlar la ejecución de estas tareas repetitivas,
es necesario utilizar las estructuras de programación
• Tipos de estructuras:
 Condicionales (IF, SELECT CASE)
 Bucles cerrados (FOR, FOR EACH)
 Bucles abiertos (DO WHILE, DO UNTIL)

5
Estructuras Condicionales
Existen muchas situaciones en donde uno desea
ejecutar un (o varios) comando(s) solo si es que
algunas condiciones son satisfechas. Para dicho fin
se hace uso del comando IF.

Versión Corta

If Condición Then
Sentencia1
Sentencia2

SentenciaN
End If Ojo es separado 6
Estructuras Condicionales
Versión Larga
If Condición Then
Sentencia 1
Sentencia 2

Sentencia N
[ELSE] o [ELSEIF condición THEN]
Sentencia 1
Sentencia 2

Sentencia N
End If 7
Ejemplo Condicional Simple
• Entrar una cantidad que representa el precio de algo
por el teclado con la instrucción InputBox y
guardarlo en la celda B12 de la Hoja 1. Si el valor
entrado desde el teclado (y guardado en B12) es
superior a 1000, pedir descuento con otro InputBox
y guardarlo en la casilla C12 de la hoja activa.
• Calcular en D12, el precio de B12 menos el
descuento de C12.

8
Permite separar en dos líneas cuando un renglón es muy largo y que el programa las
interprete como un solo comando

Sub CondicionalSimple()
Sheets ("Hoja1").Select
ActiveSheet.Range(“B12:D12").Value = 0

ActiveSheet.Range(“B12").Value = Val(InputBox _
("Entrar Precio", "Entrar"))

If ActiveSheet.Range(“B12").Value > 1000 Then


ActiveSheet.Range(“C12").Value = Val(InputBox _
("Entrar Descuento", "Entrar"))
End If

ActiveSheet.Range(“D12").Value = ActiveSheet.Range(“B12") _
.Value - ActiveSheet.Range(“C12").Value
End Sub
9
Ejemplo Condicional Else
• Entrar una cantidad que representa el precio de algo
por el teclado con la instrucción InputBox y
guardarlo en la celda B15 de la Hoja 1.
• Si el valor entrado desde el teclado (y guardado en
B15) es superior a 10000, se aplica un descuento del
20%, si es superior a 1000, se aplica un descuento de
10% y sino se aplica un descuento del 5%. El
descuento (como porcentaje) debe guardarse en la
casilla C15 de la hoja activa.
• Colocar en D15, el descuento total y en E15 el precio
menos el descuento.

10
Sub CondicionalElse()
Dim Precio As Single
Dim Descuento As Single
Precio = 0
Sheets("Hoja1").Select
Precio = Val(InputBox("Entrar el precio", "Entrar"))
If Precio > 10000 Then
Descuento = Precio * (20 / 100)
ActiveSheet.Range(“c15").Value = 0.2
ElseIf Precio > 1000 Then
Descuento = Precio * (10 / 100)
ActiveSheet.Range(“c15").Value = 0.1
Else
Descuento = Precio * (5 / 100)
ActiveSheet.Range(“c15").Value = 0.05
End If
ActiveSheet.Range("b15").Value = Precio
ActiveSheet.Range(“d15").Value = Descuento
ActiveSheet.Range(“e15").Value = Precio – Descuento
End Sub

11
Select Case
En ocasiones se dará el caso que en función del valor
o rango de valores que pueda tener una variable,
una casilla, una expresión, etc. deberán llevarse a
cabo diferentes acciones o grupos de acciones.
Sintaxis:
Select Case Expresión
Case valores :
Instrucciones.
Case valores :
Instrucciones.
...
Case valores:
Instrucciones.
Case Else
Instrucciones en caso que no sean ninguno de los valores anteriores.
End Select 12
Select Case
• Macro que suma, resta, multiplica o divide los
valores de las casillas C12 y C13 dependiendo de si
D13 contiene el signo “+”, “-”, “x” ó “:”.
• El resultado debe aparecer en C14. Si en D13 no hay
ninguno de los signos anteriores, el programa .
• Ejecutar la macro en la hoja2.

13
Sub Ejemplo4()
Sheets(2).Activate
[C12] = InputBox("Introduzca el valor 1", "Valor 1")
[C13] = InputBox("Introduzca el valor 2", "Valor 2")
Select Case [D13]
Case Is = "+"
[C14] = [C12] + [C13]
Case Is = "-"
[C14] = [C12] - [C13]
Case Is = "x"
[C14] = [C12] * [C13]
Case Is = ":"
[C14] = [C12] / [C13]
Case Else
MsgBox ("Faltó poner el signo; hay que reiniciar el proceso")
[D13] = InputBox("Introduzca Signo", "SIGNO")
Call Ejemplo4
End Select
End Sub
14

También podría gustarte