CREAR USERFORMS Silvia Mayoral 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
3 La función InputBox es útil para obtener una sola entrada del usuario. InputBox(aviso,Titulo,Predeterminado) 4 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 2
5 Ejemplo algo más sofisticado Variable=MsgBox(aviso,botones,titulo) InputBox(aviso,Titulo,Predeterminado) 6 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 ) 3
7 INSERTAR > USERFORMS 8 AGREGAR CONTROLES AL USERFORM Etiqueta Agrega una etiqueta (un contenedor de texto) 4
9 PROPIEDADES Propiedades orden Alfabético Se pueden cambiar las propiedades, color, alineación, nombre. Por categorías IMPORTANTE DARLE UN NOMBRE PARA LUEGO REFERENCIARLO 10 AYUDA DE LAS PROPIEDADES Para ver la ayuda de la propiedad, sobre ella presionar F1 5
11 AGREGAR CONTROLES AL USERFORM Casilla de Verificación Útil para ofrecer al usuario una opción binaria, si (True) o no (False) 12 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) 6
13 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) 14 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. 7
15 Hay que llenar las listas 16 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 8
17 ORDEN DE LA TABULACION Sobre el UserForm boton derecho 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 DEBE SER EL NAME DEL USERFORM 9
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. 20 ESTAMOS PREPARADOS PARA GENERAR UN USERFORM QUE SE HAGA VISIBLE CLARO MEDIANTE BOTON EN HOJA DE CALCULO!!!! 10
PROCEDIMIENTOS EN EVENTOS Silvia Mayoral PROCEDIMIENTOS EN EVENTOS 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. 11
23 PODEMOS CREAR SOBRE EL FORMULARIO NOMBRE/SEXO EN BOTON DE ACEPTAR EL SIGUIENTE PROCEDIMIENTO 24 HAY MUCHISIMOSSSSSS EVENTOSSSSS 12
PROCEDIMIENTOS EN EVENTOS 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. INCORPORAR UN CALENDARIO 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. 13
INCORPORAR UN CALENDARIO 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. 14
EVENTOS DE EXCEL Silvia Mayoral EVENTOS EN EXCEL 30 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. 15
EVENTOS EN EXCEL 31 Ejemplos de Eventos en libro: Open y Close EVENTOS EN EXCEL 32 Ejemplos de Eventos en Hoja: Change 16