La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Visual Basic para aplicaciones

Presentaciones similares


Presentación del tema: "Visual Basic para aplicaciones"— Transcripción de la presentación:

1 Visual Basic para aplicaciones
Programando Excel

2 Visual Basic Es un lenguaje de programación (software de desarrollo
Es un producto de Microsoft para sus sistemas operativos Alguna de sus versiones son Visual Basic .NET: Herramienta profesional de desarrollo, para todo tipo de aplicaciones Visual Basic para Aplicaciones: Herramienta para automatizar las aplicaciones de Microsoft Office Puesto que todos tenemos disponible una instalación de Office, utilizaremos VBA.

3 Visual Basic para Aplicaciones
Está disponible en los programas “grandes” de MsOffice Word Excel PowerPoint Access Visio Nosotros usaremos en VBA de Excel Para invocarlo, basta con pulsar ALT-F11 También en el menú Herramientas->Macros->Editor de VBA

4 Visual Basic para Aplicaciones
VBA usado de forma malintencionada puede servir para crear virus informáticos Para permitir ejecutar VBA hay que cambiar algunas opciones de Excel Opciones->Seguridad->Seguridad de Macros->Nivel Medio

5 Visual Basic para Aplicaciones
El trabajo en VBA queda guardado en el fichero XLS de Excel Botones para Ejecutar, Pausar y Parar el programa Explorador del fichero de Excel, con sus hojas Formularios definidos en VBA Los programas y funciones definidos en VBA Lista de propiedades del objeto seleccionado

6 Funciones de usuario Excel posee muchas funciones predefinidas para la mayoría de los cálculos En el caso de que no exista la función que necesitamos, podemos crearla utilizando VBA Para ello debemos crear una Subrutina en un Módulo Explicaremos posteriormente estos conceptos El módulo se crea con el menú contextual del explorador de VBA: Insertar-> Módulo. En la ventana que aparece, teclearemos lo siguiente:

7 Funciones de usuario Desde este momento, hay una nueva función disponible en Excel, de nombre MiFuncion Prueba esta función en la hoja excel Por ejemplo, en C2 escribe =MiFuncion(B2) y prueba a cambiar valores en C2 Ejercicio: Crea tres nuevas funciones para Excel, de nombre IvaNormal, IvaReducido, IvaSuperreducido Calcularán el precio de un producto tras aplicar el IVA correspondiente: 16%, 7%, 4% Pista: la coma decimal se escribe con punto, a la americana. Ejemplo: 1.16

8 Funciones de usuario ¿Qué se puede hacer en una función de usuario?
Definir variables (números y cadenas de texto) Dar valor a las variables (=) Utilizar operadores entre variables (+,-,/,<,>,=…) Utilizar funciones de VBA para manejar variables Números: Sin, cos, sqrt,. Cadenas de texto: & para concatenar cadenas Utilizar decisiones Realizar unas instrucciones u otras dependiendo de una condición

9 Funciones de usuario: Variables
Hay al menos una variable definida El nombre de la función es una variable donde hay que almacenar qué es lo que la función devuelve Entre paréntesis están los parámetros de la función, que también son variables Las variables tienen un tipo Double: número con decimales (real): 1.16 Integer: número sin decimales: 23 String: cadena de caracteres: “Una cadena”

10 Ejemplo Función que recibe nombres y apellidos, y los muestra como apellidos, nombre Ejercicio Crea una función de nombre Duplica que repita la cadena que se introduzca. Úsala en la hoja Excel. Ejemplo: =Duplica(“Profe”) debe devolver “ProfeProfe”. Ejemplo: =Duplica(“Hola”) debe devolver “HolaHola”

11 Toma de decisiones Se puede elegir realizar una serie de operaciones dependiendo de un valor de cierto o falso Las condiciones se pueden encadenar:

12 Toma de decisiones En las condiciones se puede usar
=, para comprobar igualdad entre números y cadenas <>: para comprobar desigualdad > y <: para comprobar si es menor o mayor (en cadenas se utiliza el orden alfabético) AND: para comprobar si se cumplen dos condiciones simultáneamente OR: para comprobar si se cumple al menos una de dos condiciones.

13 Ejemplo: variables y decisiones
Se pueden definir variables en cualquier momento para almacenar resultados temporales. Si no se sabe qué valor tienen, se pueden poner a Null Ejemplo: solución de ecuaciones ax2+bx+c=0, existiendo variables a, b y c

14 Ejercicio Realiza una función de nombre DescribeEdad con el siguiente algoritmo Si la edad es menor de 12, es la niñez Si la edad es menor de 18, es adolescencia Si la edad es menor de 30, es juventud Si la edad es menor de 50, es madurez Y si no se cumple nada de lo anterior, es la tercera edad Usa la función en una hoja Excel Usa la función en una hoja Excel, combinada con la función Duplica =Duplica(DescribeEdad(30))

15 Formularios Un formulario es una ventana con etiquetas, botones, campos de texto, etc Cada uno de los componentes, así como el propio formulario, tienen unas propiedades Color, texto mostrado, tamaño, posición,… Estas propiedades se pueden modificar en la lista de propiedades, y también con un programa de Visual Basic Cada uno de los componentes puede tener comportamientos asociados a eventos Los eventos pueden ser: hacer click, apretar una tecla, soltar una tecla,… Las acciones son programas de Visual Basic que se ejecutan cuando se produce el evento

16 Formularios El módulo se crea con el menú contextual del explorador de VBA: Insertar-> UserForm. Formulario vacío TEXBOX Texto modificable COMBOBOX Texto modificable con lista de selección LABEL Etiqueta no modificable RADIOBUTTON Se puede seleccionar o no COMMANDBUTTON Un botón que puede apretarse Paleta de controles SCROLLBAR Una barra de desplazamiento

17 Formularios: Controles
Vamos a crear un formulario con una label y un commanbutton. Lista de propiedades del CommandButton1

18 Formularios: Controles
El formulario tendrá como título “Mi primer formulario” Propiedad Caption El fondo del formulario tendrá una imagen (cualquiera) Propiedades Picture y PictureSizeMode La etiqueta tendrá fondo amarillo Propiedad BackColor En el botón pondrá Haz click aquí El botón tendrá un icono vistoso (cualquiera) Propiedad Picture

19 Formularios: Controles
El formulario tendrá como título “Mi primer formulario” Propiedad Caption El fondo del formulario tendrá una imagen (cualquiera) Propiedades Picture y PictureSizeMode La etiqueta tendrá fondo amarillo Propiedad BackColor En el botón pondrá Haz click aquí El botón tendrá un icono vistoso (cualquiera) Propiedad Picture

20 Formularios: Controles
Al finalizar, probar el formulario Menú Ejecutar->Ejecutar sub/user form Tecla F5 Botón de ejecutar

21 Formularios: Eventos Vamos a asociar un programa al hecho de hacer click sobre el botón Sobre el botón del formulario (en modo diseño), hacer doble click En la función recién creada, cambiar el texto que muestra nuestra label (si no lo habéis cambiado, se llama Label1)

22 Formularios: conceptos básicos
Todas las propiedades de un control aparecen en la lista de propiedades También se pueden consultar en los manuales Todos los controles tienen un nombre (es una de sus propiedades) Desde Visual Basic, se puede cambiar cualquier propiedad de cualquier control Basta con usar <nombre de control>.<propiedad> = <valor>

23 Formularios: conceptos básicos
Todos los controles tienen eventos El editor de Visual Basic crea por nosotros una función con el nombre adecuado para tratar un evento Los posibles eventos se pueden ver en el cuadro de la derecha del código Visual Basic Selector del evento asociado al control Selector del control dentro del formulario

24 Formularios: conceptos básicos
Todos los controles tienen eventos El editor de Visual Basic crea por nosotros una función con el nombre adecuado para tratar un evento Los posibles eventos se pueden ver en el cuadro de la derecha del código Visual Basic Selector del evento asociado al control Selector del control dentro del formulario

25 Formularios: Entrada del usuario
Realizaremos un ejemplo para manejar un dato dado por el usuario. Mostraremos el valor de MiFuncion según un valor del usuario En un nuevo formulario, insertaremos un TEXTBOX y un COMMANDBUTTON. Cuando se pulse el botón Conseguiremos el texto introducido con Textbox1.Text El valor conseguido es tipo cadena de texto. Conseguiremos su valor numérico con la función CSgn CSgn(TextBox1.Text) Calcularemos el valor de MiFuncion MiFuncion( CSgn( TextBox1.Text) ) Dicho valor se pondrá otra vez en el campo de texto TextBox1.Text = MiFuncion( CSgn( TextBox1.Text) )

26 Formularios: Entrada del usuario
Ejecutar el formulario Introducir un número en el campo de texto Cada vez que se pulse el botón, el número se multiplicará por 3.

27 Formularios: UserForm
Propiedades Caption: título del formulario Picture: Imagen de fondo PictureSizeMode: Como se adapta la imagen al formulario Eventos Activate: llamado al abrir el formulario. Sirve para inicializar los valores de los controles antes de que se muestren

28 Formularios: CommandButton
Propiedades Caption: texto del botón Picture: Imagen de fondo PicturePosition: Como se adapta la imagen al botón BackColor: Color de fondo Eventos Click: llamado al apretar el botón (con ratón o teclado)

29 Formularios: Label Propiedades Caption: texto la etiqueta

30 Formularios: TextBox Propiedades
Text: texto mostrado. Si se quiere conocer su valor numérico es necesario pasar el texto a la función CSng Enabled: Si es False el usuario no puede escribir, si es True sí puede.

31 Formularios: OptionButton
Propiedades Caption: texto mostrado GroupName: sólo puede estar seleccionado un botón de entre todos los que tengan el mismo GroupName. Value: True si está seleccionado, False si no lo está Eventos Change: el botón estaba seleccionado, y ahora no lo está, o al revés. Para ver qué ha pasado se puede consultar la propiedad Value

32 Formularios: ScrollBar
Propiedades Min: valor mínimo Max: valor máximo Value: el valor de la posición actual (que siempre está entre Min y Max) BackColor: Color de fondo Eventos Change: llamado cuando el usuario mueve el scroll (en las flechas o arrastrando). Para saber a dónde se ha movido, se mira la propiedad Value.

33 Formularios: Funciones de VBA
CSgn(String) as Double Recibe una cadena y la pasa a un valor numérico, si se puede RGB(Integer, Integer,Integer) as Color Recibe tres números de 0 a 255 y devuelve un color. Este color se puede asignar a las propiedades de color de cualquier control. Math.Sqrt(Double) as Double Calcula la raiz cuadrada de un número Int(Double) as Integer Devuelve la parte entera de un número con decimales End Cierra la ventana y termina la ejecución del programa


Descargar ppt "Visual Basic para aplicaciones"

Presentaciones similares


Anuncios Google