jueves, 13 de agosto de 2015

Como crear un formulario en Excel

Mi primer Formulario en Excel.

Hola Amigos.

Aquí estamos nuevamente con ustedes para aprender a realizar nuestro primero formulario en Excel. Y ya que hemos vistos algunos procedimientos o macros que utilizaremos en este formulario es hora de ponerlos a funcionar en algo útil.
Vamos a empezar por agregar un libro nuevo y luego habilitaremos nuestra pestaña de programador, ya hemos explicado esto antes, sin embargo para hacer completo el tutorial lo mostraremos de nuevo. Bueno nos vamos a opciones de Excel y luego buscamos la opción de Personalizar cinta de opciones damos click en la casilla de Desarrollador. (Si ahora seremos desarrolladores jeje).



Una vez hecho esto nos apareceré en las pestañas de Excel la de “DESARROLLADOR”, nos ubicamos en esta pestaña y damos click en el botón que dice “Visual Basic” 

y se nos mostrara la ventana siguiente:

Y ya que estamos listo para empezar, guardamos nuestro libro que agregamos de Excel y lo nombraremos “MiPrimerFomulario.xlsm”, recordemos que a partir de las versiones de Excel 2007 si queremos guardar un libro con Macros, ahora ya existe una extensión exclusiva la cual es “*.xlsm”.

Luego regresamos a la pestaña de visual basic y ubicamos nuestro archivo en el árbol del cuadro que dice proyectos, y le damos con el botón derecho para definir parámetros en las propiedades de nuestro proyecto, como se ve en la imagen:

Y luego nos aparece el cuadro de propiedad como se muestra a continuación:

En esta podemos definir el nombre del proyecto VBA (Visual Basic para Aplicaciones), y hacer una breve descripción en que consiste nuestro formulario, y la pestaña que dice protección podemos definir si queremos que se bloquee nuestro proyecto o simplemente que no se pueda modificar.  Si seleccionamos la casilla de “Bloquear proyecto para visualización” y ponemos una password el proyecto no se podrá no obstante si queda sin selección todo el contenido del proyecto se podrá ver sin embargo no podrá ser modificado.

Ok ahora nuevamente nos ubicamos sobre nuestro proyecto y hacemos click con el botón derecho del mouse para insertar a nuestro proyecto un UserForm (Formulario para usuario), que es el objetivo de este artículo, aprender a utilizar un formulario mediante programación (Macros) que hemos visto en artículos anteriores.

Enseguida aparecerá en un cuadro formulario para agregar botones y demás cosas que necesitemos.
Por Default el Formulario aparece nombrado con el nombre de “UserForm1”, el cual podemos cambiar a nuestro gusto.

Luego para hacer los cambios al UserForm lo seleccionamos con el Mouse y nos aparece un cuadro con las propiedades que contiene un UserForm, en estas propiedades podemos cambiar el nombre, aplicar un color de fondo, también podemos modificar su tamaño a una precisión deseada, sino el tamaño simplemente lo podemos modificar con el Mouse ubicando el puntero en los bordes del formulario.
Bien observen la figura y hagamos unos cambios.
Quiero aclararles un punto importante para todo control llamémosle en este caso al formulario la propiedad denominada “Name” este es el nombre con el que se identifica el formulario a la hora de utilizarlo en el código de visual basic, y la propiedad “Caption” es el nombre visual que se mostrara al usuario al utilizar el formulario, para este caso nuestro formulario en la propiedad “Name” lo dejamos con el nombre de UserForm1 y el “Caption” le pondremos MiFormulario de Prueba, tal y como se observa en la figura, entonces al utilizar el formulario lo que usuario podrá ver es lo que en la propiedad “Caption”.

Bien, ahora vamos a dotar el formulario de Controles, son controles los botones o etiquetas con los que manipularemos el Formulario. Bueno del “Cuadro de Herramientas” que aparece de forma automática al agregar o selección un formulario, sino aparece lo invocamos desde el menú en Ver y luego damos click sobre cuadro de Herramientas.
Este es el cuadro de herramientas, desde el cual podemos elegir los controles que necesitemos para manipular nuestro formulario.

Bien vamos agregar una etiqueta o Label en el cuadro de herramientas ese control lo identificaran con una “A” lo seleccionamos y lo arrastramos hasta nuestro formulario, nótese que al tener seleccionado la etiqueta también nos aparecen sus propiedades como el UserForm, observen la imagen… y de igual forma le daremos un nombre para la propiedad “Name” y otro para la propiedad “Caption”. Agregaremos tres controles Label y los definiremos de la siguiente manera:
Label1 Name= Label1 Caption= Contactos
Label2 Name= Label2 Caption= Nombre completo
Label3 Name= Label3 Caption= Telefono

Luego del mismo cuadro de herramientas seleccionamos un control de tipo TextBox este se identifica con el “ab|” dentro del cuadro, lo arrastramos hacia nuestro formulario. No olviden que seleccionando el control deseado podemos moverlo de posición dentro del Formulario, y lo digo porque al final mostrare como debieran quedar ordenados nuestros controles en nuestro formulario, también para este control se definen sus propiedad como se muestra en la imagen.
Bueno debemos agregar 2 controles de tipo TextBox
Uno se llamara TextBox1 en propiedad Name
El otro se llamara TextBox2 en propiedad Name

Sin son observadores este control no tiene la propiedad “Caption” ya que se muestra como un campo para capturar datos por lo que no muestra nombre, al menos que quieres que se muestre algo y eso lo podemos hacer directamente en la propiedad “Text”

Por ultimo agregaremos un Boton o “CommandButton1” como es su nombre, este lo puede identificar como cuadro el cual muestro en la figura. De igual manera este control tiene sus propiedades como la muestra la figura y lo definiremos como sigue:

Para la propiedad Name=CommandButton1  Caption=Guardar

No te desesperes es un tutorial largo, pero lo hago para todos aquellos que personas que son Autodidactas y les gusta aprender solos.

Finalmente nuestro formulario debería quedar como sigue:
Y para ver como se muestra nuestro formulario podemos mostrarlo con la barra de ejecutrar que se muestra como si fuera un reproductor, con el botón Play mostramos o ejecutamos el proyecto, tal y como se muestra en la figura.

Al ejecutarlo se vería en nuestro libro de la siguiente manera:
Y ya podemos escribir dentro de los controles TextBox que agregamos, sin embargo aun no tiene utilidad porque no tiene ningún código para poder guardar los datos capturados.
Para este ahora iremo a nuestra hoja de Excel en la hoja 1.
El formulario se cierra dando click en la X.

Ya estando dentro de la hoja definiremos las siguientes columnas como sigue:
Y llamaremos a esta hoja “CONTACTOS”

Bueno ahora regresamos a la venta de Visual Basic y seleccionamos nuestro TextBox1 y en la propiedad ControlSource Pondremos el valor de “A2” que es la celda en donde se guardara el dato, de igual forma seleccionamos nuestro TextBox2 y asignamos en la propiedad ControlSource Pondremos el valor de “B2” que también es donde se guardara el dato.  Mediante programacion tendremos que ir cambiando estos valores cada vez que guardemos un dato.

Buenos ahora ya estamos listo para agregar codigo al formulario e ir haciendo algunas cosas útiles con este.
Podemos dar dobre click sobre el UserForm y se nos abrirá la pantalla donde debemos escribir el código que necesitaremos para el formulario, si damos doble click la pantalla se abre con el código autogenerado para ingresar código en el evento UserForm_Click(), bueno los eventos en los controles son aquellas instrucciones que se desencadenaran al realizar determinado acciones en el formulario o control, por lo que de ejemplo puedo decir que existe eventos al dar click, al dar Doble Click, o al cargarse el formulario por mencionar algunos, en la siguiente pantalla se puede ver en general cada uno de los eventos que tiene cada control dentro del formulario.
En el combo que Dice UserForm es el control seleccionado, el combo de alado muestra los diferentes eventos que tiene cada control. 

Además de eventos del formulario también podemos agregar código o procedimientos que pueden ser llamados en los eventos de los controles. Si se fijan en la figura ya tengo hecho el código que utilizaremos para hace funcional el formulario.
Para este caso utilizamos únicamente 2 eventos, un evento es el “Initialize” del UserForm y el Evento “Click” del CommandButton1, y adicionalmente se programó un procedimiento o Función para identificar en donde debe guardarse cada nuevo registro, en la hoja que nombramos como “CONTACTOS”.
En el evento “Initialize” del UserForm está llamando a la función FILAVACIA y realizar la función descrita.
En el evento “Click” del CommandButton1 llamamos nuevamente a la función FILAVACIA y luego generamos un mensaje indicando que se guardaron correctamente los datos.
Y con esto ya podemos guardar datos dentro de nuestro formulario.

En otro articulo pondremos el código para hacer modificaciones o selecciones de un registro determinado.


En la hoja CONTACTO se encuentra un botón con el cual se invoca al Formulario 

Private Sub CommandButton1_Click()
 Load UserForm1
 UserForm1.Show
End Sub


Analicen el Código y vean como se utilizan las propiedades de los controles para dar y obtener valores.

Es un artículo bastante largo, sin embargo creo que a muchos les servirá o en su caso les ayudara a mejorarlo y utilizarlo en algo que les sirva.

Les dejo el archivo de ejemplo, para su análisis y aprendizaje.


Saludos cordiales
JASR
****Tranquilos que todo es correcto.****

Share this

1 Response to "Como crear un formulario en Excel"

  1. Que tal JASR, muy interesante tu publicacion, esta excelente con todo y ejemplo.
    Ojala y sigas publicando estos interesantes temas.

    Saludos de
    RCR

    ResponderBorrar

Hola gracias por comentar.