0% encontró este documento útil (0 votos)
34 vistas11 páginas

Diseño de Formularios en Excel

El documento describe cómo diseñar formularios en Excel para recopilar información de forma estructurada. Explica que los formularios son cuadros de diálogo que permiten recopilar datos de forma filtrada para sistematizar la información. Luego detalla los pasos para crear un formulario en blanco, agregar controles comunes como cuadros de texto y botones, y modificar las propiedades de los objetos desde la ventana de propiedades. Finalmente, comenta formas de ejecutar un formulario una vez creado.

Cargado por

Wambi flash
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)
34 vistas11 páginas

Diseño de Formularios en Excel

El documento describe cómo diseñar formularios en Excel para recopilar información de forma estructurada. Explica que los formularios son cuadros de diálogo que permiten recopilar datos de forma filtrada para sistematizar la información. Luego detalla los pasos para crear un formulario en blanco, agregar controles comunes como cuadros de texto y botones, y modificar las propiedades de los objetos desde la ventana de propiedades. Finalmente, comenta formas de ejecutar un formulario una vez creado.

Cargado por

Wambi flash
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

Tema 5: Diseño de

formularios.

Crea aplicaciones de escritorio gracias a los formularios

de Excel

¿Para qué sirven los ¿Te imaginas recopilar la información de un censo

nacional en hoja y papel y luego digitalizar toda


formularios?
esta información en Excel para luego

realizar el análisis estadístico? La solución

de estos problemas puede ser la

implementación de un formulario.

Mantente en contacto si tienes alguna duda jguerreros@[Link]


5. Diseño de formularios. Excel Avanzado I

Los formularios son otros de los muchos objetos dentro de Excel y son cuadros de diálogo en donde

podremos recopilar información filtrada para después sistematizar nuestra información de manera

adecuada.

Los formularios sean quizás el objeto mas

importante dentro de Excel ya que es

increíble la cantidad de proyectos que se

pueden diseñar con ellos al integrar los

conocimientos anteriormente aprendidos.

Trata de estudiar estos conceptos

para facilitar la implementación de

los formularios en tus proyectos.

EJEMPLOS 01

Para motivarte en el estudio de esta parte del curso observa los siguiente proyectos realizados con

programacioón en VBA y formularios.

Algunas vistas del Sistema

de control de asistencias del

personal de enfermería en la

Clínica Ricardo Palma, fase

1. Este proyecto luego fue

llevado al desarrollo web de

aplicaciones.
Excel Avanzado I

Mi primer formulario

Espacio de trabajo 01

Para comenzar con el diseño de nuestros formularios es

importante establecer nuestro entorno o espacio de trabajo,

para ello simplemente realizamos los siguientes pasos:

En la barra de herramientas:

[Link] en Insertar
2. Clic en Userform

Inmediatamente podrán observar que se creo un formulario en blanco, este será nuestro espacio de

trabajo en donde colocaremos todos los elementos para que el formulario pueda estar listo para

ser programado.

Nota que se creo un nuevo objeto en la ventana de

proyectos al igual que cuando se crea un módulo.

VBA nos dá la posibilidad de crear tantos

formularios veamos necesarios para

que nuestro proyecto funcione. Para

ello es importante definir el

funcionamiento del mismo.

Cuadro de herramientas 02

Ya tenemos nuestro espacio de trabajo pero ahora

necesitamos de elementos y/o herramientas para

empezar con el diseño. Estas herramientas son llamadas

controles y las podemos encontrar dentro del elemento

llamado "Cuadro de herramientas" la cual podemos

activarla de la siguiente manera:

En la barra de herramientas:

[Link]
2. Cuadro de herramientas
Excel Avanzado I

Los controles de formularios mas usados son los siguientes.

Para usar un control dentro de nuestro espacio de

trabajo solo basta con arrastrar el elemento hacia

el espacio.
Excel Avanzado I

Ventana de propiedades 03

Como todos los objetos de Excel los formularios y sus controles

tienen propiedades los cuales pueden ser observados en la

ventana de propiedades. Para habilitar la ventana se puede seguir

los siguientes pasos:

En la barra de herramientas:

[Link]
2. Venta de propiedades o "F4"

Las propiedades cambian conforme se van seleccionando los

objetos.

Ejecutar un formulario 04

Existen varias formas de ejecutar un formulario. La primera de ellas es mediante los


los comandos
comandos de
de

depuración y ejecución:

Otra forma es llamando a la propiedad ".Show" mediante un módulo. Para ello, en un módulo

aparte digitamos el siguiente script

Sub AbrirFormulario()
"UserForm1" es el nombre por
'Código para abrir formulario
[Link] 'Propiedad .Show sirve para abrir el formulario defecto del formulario, este
End Sub
valor puede ser modificado

desde la ventana de propiedades

Una vez creado el módulo podemos llamarlo desde un botón en la hoja de cálculo o macros.
Excel Avanzado I

Diseño 05

Como todos los objetos de Excel los formularios y sus controles

tienen propiedades los cuales pueden ser observados en la

ventana de propiedades. Para habilitar la ventana se puede seguir

los siguientes pasos:

En la barra de herramientas:

[Link]
2. Venta de propiedades o "F4"

Las propiedades cambian conforme se van seleccionando los

objetos.

Ejecutar un formulario 06

Existen varias formas de ejecutar un formulario. La primera de ellas es mediante los


los comandos
comandos de
de

depuración y ejecución:

Otra forma es llamando a la propiedad ".Show" mediante un módulo. Para ello, en un módulo

aparte digitamos el siguiente script

Sub AbrirFormulario()
"UserForm1" es el nombre por
'Código para abrir formulario
[Link] 'Propiedad .Show sirve para abrir el formulario defecto del formulario, este
End Sub
valor puede ser modificado

desde la ventana de propiedades

Una vez creado el módulo podemos llamarlo desde un botón en la hoja de cálculo o macros.
Excel Avanzado I

Ejercicio

A continuación se creará el siguiente formulario correspondiente a la empresa InfoPUC que se

encargará de recibir la información de pago de sus clientes, para ello se necesita diseñar el

siguiente formulario:

Diseño 01

Para el diseño se necesitó de los siguientes elementos: cinco (05) labels o etiquetas, cuatro (04)

textbox o cuadros de texto, un (01) combobox o cuadros combinados, dos (02) frames o marcos,

dos (02) optionButtons o botones de opciones, un (01) checkBox o cuadro de marcación y un (01)

image o cuadro de imagen.

"Se puede realizar la modificación de la apariencia del formulario y sus elementos jugando

con sus propiedades. Por ejemplo:

BackColor: Determina el color de fondo del objeto en mención.

Font: Determina el tipo de fuente de los objetos que muestren texto.

BorderColor: Determina el color del borde del objeto.

El siguiente proceso, terminado el diseño, es el de identificación y declaración de controles, es un

paso que algunos prefieren obviar pero sin embargo permitiría ahorrar tiempo de diseño y dolores

de cabeza si se opta por realizarlo.


Excel Avanzado I

Identificación de elementos 02

Para la realización de este paso necesitaremos trabajar con la propiedad "name". El paso consiste en

darle un nombre único e irrepetible a cada control del formulario, esto con el fin de luego poder

identificarlos y llamarlos para su procesos de programación.

No existe una regla para asignar

nombres a los controles, la única

regla es que el nombre no tenga

caracteres especiales ni

espacios. En el siguiente cuadro

se puede observar una

convención para una buena

identificación

Inicialización de controles 03

Hay algunos controles que requieren de su inicialización de variables, como ejemplo los cuadros

combinados o comboBox los cuales van a desplegar una lista de datos a ser seleccionados.

Una opción para inicializar los valor de un comboBox es

mediante su propiedad "RowSource". El valor de esta

propiedad requiere la referencia de la hoja de cálculo en

donde se encuentra la información. En este caso el rango de

distritos se encuentra en el rango A2:A5 de la hoja DATOS.

Otra forma de inicializar valor de un control es por medio del evento

"Initialize" del Formulario. Para acceder a ello hacer doble clic en el

formulario o clic derecho y "ver código". Al hacerlo se debió activar el

espacio para el evento "click" sin embargo ese no es el indicado y

hacemos el cambio a "Initialize". El cuál ejecuta su interior al inicializar

el formulario.
Excel Avanzado I

Con el evento creado podemos llamar a la misma propiedad RowSource o a la propiedad "AddItem".

'Proceso de inicialización de valores usando la propiedad "AddItem"


'El proceso se ejecuta inicializar el formulario
Private Sub UserForm_Initialize()
'Inicializamos valores del comboBox
[Link] "Miraflores"
[Link] "La Molina"
[Link] "San Isidro"
[Link] "San Juan de Lurigancho"
[Link] "Lima Centro"
[Link] "Breña"
End Sub

'Proceso de inicialización de valores usando la propiedad "RowSource"


'El proceso se ejecuta inicializar el formulario
Private Sub UserForm_Initialize()
'Inicializamos valores del comboBox
[Link] = "DATOS!A2:A5"
End Sub

Almacenamiento de información 04

Ya con el proceso de diseño completo, lo que faltaría es enviar la información a la hoja de cálculo

para llenar una base de datos. Para ello es importante recordar el refrán:

"LO QUE TENGO A LA DERECHA LO GUARDO EN LO QUE TENGO A LA IZQUIERDA"

Diseñamos la siguiente tabla en una hoja llamada "BD", este cuadro se encargará de recibir la

información ingresada a través del formulario.

Una recomendación es siempre crear una columna llamada "Key" o llave que sea el indicador

único e irrepetible de nuestra base de datos. Esto ayudará a poder identificar una

fila en particular para un filtrado o una búsqueda. Generalmente esta llave suele

llenarse correlativamente.

Pero, ¿Donde codifico o escribo el código que se encargará de ejecutar el proceso de envío de

información?. Pues analicemos, ¿Cuál es el control del formulario que al ejecutar debe procesar la

petición?. Del análisis encontramos que la respuesta es el botón "GUARDAR".


Excel Avanzado I

Entonces hacemos doble clic en el botón "GUARDAR" para acceder a su evento, tambien lo pueden

hacer haciendo clic derecho y luego "ver código". Al hacer ello se abrirá un espacio de codificación

con el evento llamado: "btnGuardar_Clic".

Los formularios operan a través de los eventos de

sus objetos. Por ejemplo en este caso el evento

"clic" quiere decir que ejecutará lo que está

en su interior cada vez que hagamos

clic en el objeto. Si analizas esta lógica

notaras que tiene mucho sentido. Para

mayor información repasar lo realizado en el

módulo 1.

'El proceso se ejecuta al hacer clic en el botón "btnGrabar"


Private Sub btnGrabar_Click()
'Llenamos la información en la hoja BD de lo ingresado en los formularios
[Link]("BD").Cells(2, "A") = txtNombres
[Link]("BD").Cells(2, "B") = txtApellidos
[Link]("BD").Cells(2, "C") = cmbDistrito
[Link]("BD").Cells(2, "D") = txtRUC
[Link]("BD").Cells(2, "E") = txtRazonSocial
[Link]("BD").Cells(2, "F") = opCheque
[Link]("BD").Cells(2, "G") = opTransferencia
[Link]("BD").Cells(2, "H") = chkCredito
Diseñamos la siguiente tabla en una hoja llamada "BD", este cuadro se encargará de recibir la
End Sub
información ingresada a través del formulario.

entonces, al ejecutar nuestro formulario y llamar la información en sus controles y haciendo clic en el

botón aceptar habremos enviado la información a la fila dos de la hoja "BD".

Llenando una base de datos 05

Para llenar información de manera secuencial en una hoja de cálculo es necesario conocer la

siguiente estrategia:

1. Ubicar la última fila con valor, sin importar si existieran filas vacías anteriormente (de esta

validación se encargará el formulario)

2. Colocar la nueva información en la fila siguiente.

Para ello utilizaremos el siguiente código:

uFila = [Link]("nombre_hoja").cells([Link], columna).end(xlUp).Row


Excel Avanzado I

En donde:

Thisworkbook :
Libro actual

[Link]("Hoja1"):
Hoja 1 del libro actual

[Link]("Hoja1").Cells([Link], "A"):
Retorna el valor de la celda "A1048576". [Link] retorna el conteo total de filas, por

defecto 1048576

[Link]("Hoja1").Cells([Link], "A").End(xlUp):
Se ubica en la última fila con valor de la columna "A". Retorna el valor de dicha celda

[Link]("Hoja1").Cells([Link], "A").End(xlUp).Rows:
Se ubica en la última fila con valor de la columna "A". Retorna el número de fila.

'El proceso se ejecuta al hacer clic en el botón "btnGrabar"


Private Sub btnGrabar_Click()
'Encontramos la última fila de la hoja "BD"
uFila = [Link]("BD").cells([Link], "A").End(xlUp).Row + 1
'Llenamos la información en la hoja BD de lo ingresado en los formularios
[Link]("BD").Cells(uFila, "A") = txtNombres
[Link]("BD").Cells(uFila, "B") = txtApellidos
[Link]("BD").Cells(uFila, "C") = cmbDistrito
[Link]("BD").Cells(uFila, "D") = txtRUC
[Link]("BD").Cells(uFila, "E") = txtRazonSocial
[Link]("BD").Cells(uFila, "F") = opCheque
[Link]("BD").Cells(uFila, "G") = opTransferencia
[Link]("BD").Cells(uFila, "H") = chkCredito
End Sub

De la siguiente manera podemos llenar la información fila tras fila utilizando código en VBA.

Cerrar un formulario 05

Si abrir un formulario es representado por ".Show" cerrar uno sería con ".Hide" ¿no?. La repuesta es

no, la propiedad ".Hide" lo que hace es ocultar el formulario, sin embargo esto sigue estando en

ejecución. La forma correcta de cerrar un formulario es a través de "Unload". Entonces el botón que

gobierna esta acción ya no es "Grabar", lo hará el botón "Cerrar".

Option Explicit
'El proceso se ejecuta al hacer clic en el botón "btnGrabar"
Private Sub btnCerrar_Click()
'Cerramos el formulario usando Unload. La palabra reservada "Me" hace referencia al formulario activo, tambien pudo ser
reemplazado con el nombre del formulario, en este caso frmClientes
Unload Me
End Sub

También podría gustarte