Creando Un UseForm
-
Upload
marcelino-martinez -
Category
Documents
-
view
230 -
download
0
description
Transcript of Creando Un UseForm
Programar en Excel – Controles de un Userform
Como veíamos anteriormente, tenemos una serie de controles para agregar al Userform, que
los podíamos visualizar desde el menú Ver => Cuadro de Herramientas.
Ahora explicaremos brevemente la utilidad de cada control. Los controles se explican en el
mismo orden que aparecen en el Cuadro de Herramientas y en la figura anterior (de
izquierda a derecha y de arriba hacia abajo).
Seleccionar objetos:
Sirve para seleccionar controles que hayamos insertado en el UserForm.
Etiqueta (Label):
Sirve para poner un titulo o un texto.
Ejemplo: Podemos poner un texto del tipo ” Complete las opciones a continuación” y
ubicarlo en cualquier sitio del UserForm. También podemos agregar Títulos o
descripciones al resto de comandos que agreguemos al UserForm.
Cuadro de Texto (Textbox):
Sirve para que un usuario introduzca Datos.
Ejemplo: Querremos que el usuario introduzca una Fecha o un Nombre ( Que luego
llevaremos a alguna Celda de Excel).
Cuadro Combinado (ComboBox):
Sirve para que un usuario elija una opción de una Lista. Ejemplo: Creamos una Lista con
los meses de Enero a Diciembre para que el usuario elija uno de ellos.
Cuadro de Lista ( ListBox):
Sirve para que un usuario rellene o elija varias opciones de una lista. Ejemplo: creamos una
lista con Regiones o Ciudades y el usuario deberá elegir una o varias de ellas.
Casilla ( CheckBox):
Sirve para que un usuario active una determinada función. Ejemplo: podemos hacer que al
cerrar el UserForm se imprima un reporte solo si la casilla de selección esta tildada .
Botón de Opciones ( OptionButton):
Sirve para que un usuario seleccione una opcion determinada entre varias posibilidades.
Ejemplo: querremos que el usuario indique, si es del sexo femenino o masculino. De todas
las opciones solo se puede seleccionar una de ellas.
Botón de Alternar ( toggleButton):
Sirve para activar o desactivar alguna funcionalidad. Este botón adopta el modo
“Encendido”/”Apagado”. Ejemplo: querremos que el usuario defina su idioma, en modo
encendido español y en modo apagado ingles.
Marco ( Frame):
Sirve para agrupar elementos de un UserForm ( los elementos se deben ubicar dentro del
Frame ( Marco). Ejemplo: Tenemos Varios Grupos de OptionButton y para distinguirlo lo
agrupamos con un frame. Si tenemos un grupo de opciones tipo Masculino/Femenino, los
agrupamos dentro de un frame (marco). Si luego tenemos otro grupo de opciones del tipo
Mayor de Edad/Menor de Edad los agrupamos dentro de otro frame (marco).
Botón de Comando (CommandButton):
Es un simple botón que nos permite ejecutar acciones. Ejemplo: Un boton de Ayuda que
ejecuta otro UserForm con ayuda para el usuario.
Barra de Tabulaciones ( TabSTrip):
En un Mismo UserForm se puede crear distintas secciones. Ejemplo: Un UserForm con
cuatro Secciones: Norte, Sur, este y oeste. Dentro de cada sección podemos ubicar
distintos controles.
Pagina Multiple (Multipage):
En un mismo formulario se puede crear distintas paginas. Ejemplo: Un UserForm con 2
paginas: Nicaragua y el resto del Mundo. Dentro de cada pagina podemos ubicar distintos
controles o distintas secciones.
Barra de Desplazamiento ( ScrollBar):
Si tenemos una lista con muchos elementos el ScrollBar te permite navegarlos. Ejemplo:
Tenemos una lista con 150 paises. Con el ScrollBar podemos subir y bajar por la lista de
los mismos utilizando las flechas de desplazamiento.
Boton de Numero ( SpinButton):
Permite Aumentar o Disminuir Valores. Ejemplo: Tenemos una lista con tipos de interés y
querremos que sean incrementadas o disminuidos en cantidades predetermindas desde el
Botón de Numero.
Imagen (Image):
Permite introducir imágenes en el UserForm. Ejemplo: Querremos introducir una fotografía
como fondo del userform para darle un aspecto mas profesional.
RefEdit:
Permite hacer referencia a una Celda de Excel. Ejemplo: querremos que el usuario
seleccione un dato que previamente fue introducido en una celda de Excel.
Haciendo doble clic en cada control se abrira una ventana donde podremos escribir y
asociarle una macro. En el tema siguiente vamos a ver como crear un Formulario
(UserForm) paso a paso.
Programar en Excel - Creando un UserForm paso a
paso (Continuación).
Muy bien, hoy continuamos con la creación del Formulario (UserForm), pero antes, me
pregunto si ya viste el tema anterior? Si todavía no lo has visto has clic aquí y lee el tema
anterior. Una vez que termines de leer y aplicar los pasos, regresa nuevamente aquí y
continua.
Continuamos entonces:
4. Agregamos un Cuadro de Texto
Para permitir que el usuario ingrese datos en el Userform agregamos un control TextBox (
Cuadro de Texto), desde el Cuadro de Herramientas.
4.1 Hacemos clic en el control de TextBox y luego hacemos clic en el Userform, en la parte donde
queramos ubicarlo.
4.2 Con el nuevo TextBox seleccionado hacemos doble clic en la Ventana de Propiedades,
propiedad (Name), tipeamos la palabra UFNombre y luego enter (este es el nombre que le
asignamos al objeto para luego referirnos a él desde las macros).
4.3 Hacemos clic en una parte vacía del Userform, para volver a seleccionar todo el Userform.
5. Agregamos un Texto
Para ayudar al usuario a ingresar sus datos, debemos indicarle que es lo que debe introducir
en el Cuadro de Texto del Paso anterior. Podemos agregar una etiqueta de texto que
describa la información que se debe introducir.
5.1 En el Cuadro de Herramientas hacemos clic en el botón Label (Etiqueta).
5.2 En el UserForm hacemos clic a la Izquierda del Cuadro de texto, para agregar el cuadro de texto.
5.3 Si fuera necesario podemos cambiar el tamaño de la etiqueta de texto o del cuadro de texto para que
no se superponga. se puede hacer clic en sus bordes (Pequeños cuadritos) y arrastrar para cambiar su
tamaño.
5.4 Seleccionamos la nueva etiqueta , hacemos doble clic en la propiedad Caption de la ventana de
propiedades, tipeamos Nombre y pulsamos enter.
5.5 Hacemos clic en alguna parte vacía del Userform para seleccionarlo y mostrar el cuadro de
herramientas.
6. Agregamos los Cuadros de Texto restantes
Agregamos los cuadros de texto y las etiquetas restantes (ya lo hicimos para el nombre así
que repetimos para
Edad y Fecha de Nacimiento).
Repetimos los pasos 4 y 5 y agregamos:
* 1 TextBox cuyo (Name) sea UFEdad, con una etiqueta de texto (Label) Edad
* 1 TextBox cuyo (Name) sea UFFecha, con una etiqueta de texto (Label) Fecha Nac.
Es muy importante que no olvides asignar bien los nombres (Name) a los Textbox, si no la
macro dará error.
Puedes revisar los pasos 4 y 5 para recordar como hacerlo.
Si los textbox no quedan alineados se pueden alinear de la siguiente forma:
1. Clic en el primer TextBox
2. Manteniendo pulsada la tecla MAYUS, selecciona los otros TextBox
3. Vamos al menú Formato > Alinear > Izquierda
4. Hacemos clic en alguna parte vacía del Userform para seleccionarlo y mostrar el cuadro
de herramientas.
7. Agregamos los Botones
Para permitir que el usuario ejecute una acción, se pueden agregar botones de comando o
CommandButons. Nuestro Userform tendrá un botón para Agregar los datos a la tabla
Excel y otro botón para Cerrar el Userform.
7.1 En el Cuadro de Herramientas hacemos clic en CommandButton ( Boton de Comando).
7.2 En el Userform hacemos clic en la parte inferior izquierda para agregar el botón.
7.3 Con el nuevo botón seleccionado hacemos doble clic en la propiedad (Name) de la
Ventana de Propiedades, tipeamos UFAgregar y luego enter.
7.4 Con el nuevo botón seleccionado hacemos doble clic en su propiedad Caption en la
Ventana de Propiedades, tipeamos Agregar y luego enter.
7.5 Hacemos clic en alguna parte vacía del Userform para seleccionarlo y mostrar el
Cuadro de Herramientas.
7.6 Repetimos los pasos anteriores para agregar otro CommandButton llamado UFCerrar y
nombre Cerrar.
7.8 Si fuese necesario podemos reubicar los botones dentro del Userform.
Es muy importante que no olvides asignar bien los nombres (Name) a los
CommandButtons, si no la macro dará error. Esto se explica en el paso 7.3 y luego deberás
repetirlo para el otro botón, tal cual se indica en el paso 7.6.
Muy bien, ya hemos creado el Formulario ahora vamos a agregar el codigo para los botones
Agregar y Cerar, pero esto lo haremos en el post de mañana.
Programar en Excel - Códigos para programar el
Boton "Agregar".
Vamos a comenzar con el tema de hoy, pero antes te invito a que repases el tema anterior
pulsando clic aquí. Si ya lo leiste y aplicaste todos los pasos del tema anterior, entonces
continua con este tema.
Hoy vamos a escribir los códigos correspondiente al botón Agregar del Formulario
(UserForm). Comenzamos:
Agregamos el código al botón Agregar
Seleccionamos el botón Agregar
Desde el menú superior elegimos la opción Ver > Código. Esto abrirá una ventana donde
podremos escribir código macro para dicho objeto.
Donde titila el cursor escribimos lo siguiente:
Private Sub UFAgregar_Click()
‘definimos las variables
Dim iFila As Long
Dim ws As Worksheet
Set ws = Worksheets(1)
‘ Encuentra la siguiente fila vacía
iFila = ws.Cells(Rows.Count, 1) .End(xlUp).Offset(1, 0).Row
‘ Verifica que se ingrese un nombre
If Trim(Me.UFNombre.Value) = “” Then
Me.UFNombre.SetFocus
MsgBox “Debe ingresar un nombre”
Exit Sub
End If
‘ Copia los datos a la tabla Excel
ws.Cells(iFila, 1).Value = Me.UFNombre.Value
ws.Cells(iFila, 2).Value = Me.UFEdad.Value
ws.Cells(iFila, 3).Value = Me.UFFecha.Value
‘ Limpia el formulario
Me.UFNombre.Value = “”
Me.UFEdad.Value = “”
Me.UFFecha.Value = “”
Me.UFNombre.SetFocus
End Sub
En el menú superior elegimos Ver > Objeto para regresar al Userform.
No te preocupes si no comprendes el código. Hay muchos objetos, propiedades y métodos
nuevos. Todos ellos se explican mejor en los siguientes temas.
En el próximo tema, vamos a agregar el código correspondiente para el botón Cerrar, tal a
como lo hicimos hoy con el código Agregar.
No olvides dejarme tu comentario, me gustaria saber si te funciono los códigos, si no lo
lograste, solo déjame un comentario o contactame por el chat, para que tratamos de hacer
funcionar juntos los códigos del botón agreg
Programar en Excel - Códigos para Programar el
Botón Cerrar
En el tema anterior escribimos los códigos para el botón Agregar, lograste completar este
paso? Si todavía no has visto el tema anterior o no has completado los pasos, por favor haz
clic aquí y aplica los pasos del tema anterior. Una vez termines, regresa nuevamente aquí y
continua con el tema de hoy.
Para hoy vamos a escribir los códigos del botón Cerrar, para eso comenzamos de la
siguiente forma:
Agregamos el código al botón Cerrar
Seleccionamos el botón Cerrar
En el menú superior elegimos Ver > Código
Donde titila el cursor escribimos el siguiente código:
Private Sub UFCerrar_Click()
Unload Me
End Sub
En el menú superior elegimos Ver > Objeto para regresar al Userform.
Permitir al usuario cerrar el Userform con la tecla ESC
Seleccionamos el botón Cerrar
En la Ventana Propiedades cambiamos la propiedad Cancel a True.
Probar el Userform
Ya podemos probar el funcionamiento del Userform !
1. Hacemos clic en alguna parte vacía del Userform para seleccionarlo y mostrar el cuadro
de herramientas.
2. En el menú superior elegimos Ejecutar => Ejecutar Sub/Userform
3. Ahora podemos comenzar a completar el primer cuadro del Userform y escribimos un
nombre, por ej. Juan.
4. Presionamos la tecla TAB para movernos al siguiente cuadro de texto.
5. Cuando hemos completado todos los cuadros de texto, hacemos clic en el botón de
Agregar y los datos se
completarán en la Tabla de Excel.
6. Podemos repetir los pasos anteriores e ir agregando distintos nombres con sus
respectivos datos.
7. Hacemos clic en Cerrar para volver al editor de macros.
La tecla TAB sirve para moverse entre los distintos controles de un Userform. Si al
presionar TAB el orden del movimiento no es el correcto, es posible cambiarlo:
1. Clic derecho en una parte vacía del Userform
2. Elegimos Orden de Tabulación.
3. Seleccionamos el control de la lista y con los botones de Mover Arriba o Mover Abajo
ajustamos el orden.
4. Hacemos clic en OK
Muy bien, con esto terminamos con el tema de hoy, para mañana vamos a a ver como
llamar este Formulario desde excel. Atento al tema de mañana.
Programar en Excel – Llamar un
Formulario desde excel
Programar en Excel - Como llamar un Formulario
Desde Excel.
En el tema anterior concluimos con el diseño de un Formulario en VBA (Visual Basic para
Aplicaciones) y hoy vamos a llamar a este formulario desde excel, pero antes, tengo una
pregunta para ti: Ya viste el tema anterior? Si todavía no lo has visto haz clic aquí. Una vez
termines de leer y aplicar los pasos, regresa nuevamente aquí y continua con el tema de
hoy.
A continuación vamos a ver los pasos para llamar a un Formulario creado en VBA desde
excel, Sigue los siguiente pasos:
Programar en Excel – Asignar un botón para ejecutar el Userform
Podemos agregar un botón para que un usuario pueda ejecutar el Userform desde la hoja
Excel.
1. Activamos Excel, libro Datos.xls, Hoja 1
2. Nos ubicamos en la Pestaña Desarrollador = > Sección Controles = > Desde el Comando
Insertar, seleccionamos con un clic botón de control de Formulario y lo dibujamos dentro
de la Hoja.
3. Una vez Dibujado el control, al soltar el mouse se presenta una nueva ventana.
4. Hacemos clic en el botón Nuevo
5. Donde titila el cursor escribimos: DatosUF.Show
6. Cada vez que hagamos clic en la figura se ejecutará el Userform.
7. Vamos a cambiar el Nombre del Boton, para modificarlo vamos a ubicarnos encima del
botón y pulsamos clic derecho del mouse, se despliega varias opciones y seleccionamos con
un clic Modificar Texto. Borramos el texto y escribimos Formulario Datos.
Ahora vamos a probar que tal funciona el botón, para eso he grabado un video bien cortico
de 26 segundo que te mostrara como quedo el boton y su funcionalidad:
Muy bien, con esto hemos terminado con el tema de formularios, para el tema siguiente
vamos a ver como ejecutar una macro desde otra macro.