material vba sesion2

16
1 CREAR USERFORMS Silvia Mayoral USER-FORMS 2 Si desarrolla código Visual puede crear sus propios cuadros de diálogo personalizados que funcionan como los integrados en Excel. Alternativas que ya conocéis a los UserForms InputBox MsgBox

Upload: ing-julian-trespalacios

Post on 11-Jul-2016

269 views

Category:

Documents


1 download

DESCRIPTION

ok

TRANSCRIPT

Page 1: Material VBA Sesion2

1

CREAR USERFORMS

Silvia Mayoral

USER-FORMS2

� Si desarrolla código Visual puede crear sus propios cuadros de diálogo personalizados que funcionan como los integrados en Excel.

� Alternativas que ya conocéis a los UserForms

�InputBox

�MsgBox

Page 2: Material VBA Sesion2

2

USER-FORMS3

� La función InputBox es útil para obtener una sola entrada del usuario.

�InputBox(aviso,Titulo,Predeterminado)

USER-FORMS4

� La función MsgBox es un modo práctico de mostrar información y solicitar sencillas entradas de datos.

�Variable=MsgBox(aviso,botones,titulo)

Posibles Botones:

•vbOKOnly•vbOKCancel•vbYesNoCancel•vbYesNo•vbQuestion•vbExclamation•vbCritical

Page 3: Material VBA Sesion2

3

USER-FORMS5

� Ejemplo algo más sofisticado

�Variable=MsgBox(aviso,botones,titulo)

�InputBox(aviso,Titulo,Predeterminado)

USER-FORMS6

� SI NECESITA MÁS INFORMACIÓN DEBERÁ CREAR UNA USERFORM

� Determinar exactamente como se usará el

Cuadro de dialogo.

� Insertar un nuevo UserForm.

� Agregar controles

� Crear el código para mostrar el UserForm (va en un modulo)

� Crear procedimientos VBA de eventos que se ejecutan cuando se manipula los controles (Aceptar, etc…)

Page 4: Material VBA Sesion2

4

USER-FORMS7

� INSERTAR > USERFORMS

USER-FORMS8

� AGREGAR CONTROLES AL USERFORM

Etiqueta

•Agrega una etiqueta (un contenedor de texto)

Page 5: Material VBA Sesion2

5

USER-FORMS9

� PROPIEDADES

Propiedades orden Alfabético

•Se pueden cambiar las propiedades, color, alineación, nombre.

Por categorías

IMPORTANTE DARLE UN NOMBRE PARA LUEGO REFERENCIARLO

USER-FORMS10

� AYUDA DE LAS PROPIEDADES

Para ver la ayuda de la propiedad, sobre ella presionar F1

Page 6: Material VBA Sesion2

6

USER-FORMS11

� AGREGAR CONTROLES AL USERFORM

Casilla de Verificación

•Útil para ofrecer al usuario una opción binaria, si (True) o no (False)

USER-FORMS12

� AGREGAR CONTROLES AL USERFORM

Boton de opción

•Similar al de verificación.

•Útil para ofrecer al usuario una opción binaria, si (True) o no (False)

Page 7: Material VBA Sesion2

7

USER-FORMS13

� AGREGAR CONTROLES AL USERFORM

Boton de opción

•Similar al de verificación.

•Útil para ofrecer al usuario una opción binaria, si (True) o no (False)

USER-FORMS14

� AGREGAR CONTROLES AL USERFORM

Cuadro Lista

•Presenta una lista de elementos donde el usuario puede seleccionar uno o múltiples.

Cuadro Combinado

•Cuadro de Lista desplegable que presenta un solo elemento por vez.

Page 8: Material VBA Sesion2

8

USER-FORMS15

� Hay que llenar las listas

USER-FORMS16

� Se pueden Utilizar Datos que ya están en las Hojas de Calculo

Crear un Formulario para insertar por separado el día y mes.

Escribir resultado de la información en una Hoja de Calculo o mediante un Mensaje.

Acabar ocultando el Formulario

Page 9: Material VBA Sesion2

9

USER-FORMS17

� ORDEN DE LA TABULACION

Sobre el UserForm botonderecho

Determina la secuencia en la que los controles se activan cuando el usuario presiona Tab.

De forma alternativa se puede Utilizar la Propiedad TabIndex.

18

� Probar un UserForm

� Elegir el Comando Ejecutar, Ejecutar Sub/UserForm.

� Presionar F5

� Hacer Click sobre el Boton Ejecutar en la barra de herramientas Estándar.

� Procedimiento en el modulo de VBA

USER-FORMS

DEBE SER EL NAME DEL USERFORM

Page 10: Material VBA Sesion2

10

19

� Probar un UserForm

� Se puede incorporar un botón en Excel que se le asigne la macro que muestre el UserForm, de forma que desde la Hoja de Calculo muestre el formulario cuando el usuario necesite.

USER-FORMS

USER-FORMS20

� ESTAMOS PREPARADOS PARA GENERAR UN USERFORM

QUE SE HAGA VISIBLE CLARO MEDIANTE BOTON EN HOJA DE CALCULO!!!!

Page 11: Material VBA Sesion2

11

PROCEDIMIENTOS EN EVENTOS

Silvia Mayoral

22

� Veremos como escribir procedimientos que controlan los eventos que ocurren cuando el cuadro de dialogo se ha desplegado.

� Hacer doble Click sobre cualquier botón Cancelar y el editor de VB activa la ventana de Codigo del UserForm y genera un procedimiento vacío llamado BotonCancelar_Click o con el nombre que se haya dado.

� Se puede hacer sobre cualquier control.

PROCEDIMIENTOS EN EVENTOS

Page 12: Material VBA Sesion2

12

USER-FORMS23

� PODEMOS CREAR SOBRE EL FORMULARIO NOMBRE/SEXO

� EN BOTON DE ACEPTAR EL SIGUIENTE PROCEDIMIENTO

USER-FORMS24

� HAY MUCHISIMOSSSSSS EVENTOSSSSS

Page 13: Material VBA Sesion2

13

25

� CLICK: Se activa al hacer click sobre el control.

� MouseMove: Se activa al mover el puntero del ratón por encima del comando.

� DblClick: Se activa al hacer doble Click sobre el control.

� MouseDown y MouseUp: El primer evento se activa al presionar uno de los botones del ratón y el segundo al liberarlo.

PROCEDIMIENTOS EN EVENTOS

26

� Cómo insertar un calendario en un Userform (Formulario) en Visual

Basic Excel.

� Seleccionamos la opción Controles adicionales. Del cuadro de diálogo damos clic en Control de Calendario 12.0.

INCORPORAR UN CALENDARIO

Page 14: Material VBA Sesion2

14

27

� Para insertar el Calendario en un UserForm, solo lo seleccionamos y lo dibujamos dentro del formulario.

� Al dibujar el formulario, se selecciona automáticamente el día según la fecha de nuestra PC.

INCORPORAR UN CALENDARIO

28

� Trabajar el evento en el Calendario

� Insertar Botón en Excel.

INCORPORAR UN CALENDARIO

Page 15: Material VBA Sesion2

15

EVENTOS DE EXCEL

Silvia Mayoral

EVENTOS EN EXCEL30

� Excel puede controlar una gran variedad de eventos y ejecutar su código VBA cuando tiene lugar un evento concreto.

�Eventos de libro. Tiene lugar para un libro particular. Los ejemplos incluyen Open(cuando se abre un Libro), BeforeSave (el libro se va a guardar), NewSheet (se añade una nueva Hoja) o BeforeClose (antes de cerrarse).

�Eventos de Hoja. Tienen lugar para una Hoja Concreta. Los ejemplos incluyen Change (cuando modifica una celda), SelectionChange (mueve el putero a otra celda), Calculate (se vuelve a calcular la Hoja). Estos se guardan en el modulo de la Hoja.

Page 16: Material VBA Sesion2

16

EVENTOS EN EXCEL31

� Ejemplos de Eventos en libro: Open y Close

EVENTOS EN EXCEL32

� Ejemplos de Eventos en Hoja: Change