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
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
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
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…)
4
USER-FORMS7
� INSERTAR > USERFORMS
USER-FORMS8
� AGREGAR CONTROLES AL USERFORM
Etiqueta
•Agrega una etiqueta (un contenedor de texto)
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
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)
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.
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
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
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!!!!
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
12
USER-FORMS23
� PODEMOS CREAR SOBRE EL FORMULARIO NOMBRE/SEXO
� EN BOTON DE ACEPTAR EL SIGUIENTE PROCEDIMIENTO
USER-FORMS24
� HAY MUCHISIMOSSSSSS EVENTOSSSSS
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
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
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.
16
EVENTOS EN EXCEL31
� Ejemplos de Eventos en libro: Open y Close
EVENTOS EN EXCEL32
� Ejemplos de Eventos en Hoja: Change