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.
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.****
Que tal JASR, muy interesante tu publicacion, esta excelente con todo y ejemplo.
ResponderBorrarOjala y sigas publicando estos interesantes temas.
Saludos de
RCR