Formulario de Usuario de Excel VBA

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 21

Formulario de usuario de Excel VBA

Los formularios de usuario en VBA son formularios personalizados definidos por el


usuario creados para recibir información de un usuario en un formato de
formulario. Aunque tiene diferentes conjuntos de controles para agregar, como
cuadros de texto, etiquetas de casillas de verificación, etc., para guiar al usuario a
ingresar un valor y almacenar el valor en la hoja de trabajo, cada parte del UserForm
tiene un código único.

UserForm es un objeto dentro de la interfaz de Excel. Dentro de este formulario de


usuario, podemos crear otros cuadros de diálogo personalizados útiles para obtener
los datos del usuario. Cuando trabaje con un archivo de macro creado por su superior
o descargado de Internet, debe haber visto un formulario de usuario.

En este artículo, le mostraremos cómo crear un formulario de usuario similar para


almacenar los datos del usuario.

Cómo crear un formulario de usuario?

Puede descargar esta plantilla de Excel de formulario de usuario de VBA aquí


-  Plantilla de Excel de formulario de usuario de VBA

1. Al igual que inserta un nuevo módulo de manera similar, debe hacer clic en el botón
INSERTAR en el Editor de Visual Basic para insertar UserForm.
2. También insertará el formulario de usuario tan pronto como haga clic en este.

Antes de que le digamos cómo programar esto, permítame mostrarle cómo formatear
este formulario de usuario.

Formateo de formulario de usuario

Seleccionando el formulario de usuario, presione la tecla F4 para mostrarle la ventana


"Propiedades".
Usando esta ventana de "Propiedades", podemos formatear este formulario de
usuario. Podemos nombrarlo. Podemos cambiar el color, el estilo del borde, etc.
De esta manera, pruebe otras propiedades para ver el UserForm.

Ahora, para este formulario de usuario, inserte una caja de herramientas.

Ahora, veremos una “Caja de herramientas” como esta.

En este momento, el UserForm está insertado, no programado. Para saber cómo


funciona, haga clic en el botón "Ejecutar". veremos elformulario en excelhoja de
cálculo.
Ahora, use la caja de herramientas para dibujar la etiqueta.

Ingrese el texto como "Nombre del empleado" dentro de la etiqueta.


Para esta etiqueta, podemos formatearla usando propiedades. Por ejemplo, hemos
ingresado el texto como "Nombre del empleado:" y podemos verlo en la ventana de
propiedades debajo de "Título".

Inserte una etiqueta más. Puede hacer clic en una caja de herramientas o arrastrar la
etiqueta actual manteniendo presionada la tecla Ctrl para insertar una etiqueta
más. Tendrás una réplica de la etiqueta actual.

Ahora, tendremos la misma etiqueta.


Cambie el nombre a "ID de empleado".

Ahora, inserte una etiqueta más y asígnele el nombre "Departamento".

Ahora, desde la caja de herramientas, inserte un cuadro de texto.


Nombre este cuadro de texto como Nombre del empleado en la ventana
"Propiedades".

Así, inserte dos cuadros de texto más de "ID de empleado" y "Departamento",


respectivamente. Nombre esos cuadros de texto según su título.
Del mismo modo, hágalo para el "Departamento".

Ahora, desde la caja de herramientas, inserte "Botón de comando".

Cambie el nombre del "CommandButton" a "SubmitButton" y cambie el título


a "Submit . “
Inserte un botón más y llámelo "Cancelar".

Ahora, para ver ejecutar, presione el botón "Ejecutar" o use la tecla F5 y vea cómo se
ve su formulario de usuario en Excel.
Ahora, está tomando forma.

Código VBA

Ahora, el usuario ingresará datos, por lo que necesitamos programar esto para
almacenar los datos ingresados por el usuario en este formulario.

Haga doble clic en el botón ENVIAR, que lo llevará a la ventana Macro con una macro
creada automáticamente como la que se muestra a continuación.

Dice, haga clic en "SubmitButton". Recuerde que le habíamos dado un nombre al


botón ENVIAR como "SubmitButton".
Entonces, cada vez que queramos llamar a este botón, podemos llamarlo por este
nombre (botón de envío). Dentro de esta macro, copie y pegue el siguiente código.

Código:

Sub privado SubmitButton_Click ()

Atenuar LR siempre que

LR = Celdas (Rows.Count, 1).End (xlUp).Row + 1

Celdas(LR, 1).Valor = EmpName.Valor

Celdas (LR, 2).Valor = EmpID.Valor

Celdas (LR, 3). Valor = Valor del departamento


EmpName.Valor = ""

EmpID.Valor = ""

Valor de departamento = ""

Finalizar sub

 EmpName.Valor aquí EmpName es el nombre del cuadro de texto que le habíamos


dado al crear el cuadro de texto del nombre del empleado.
 EmpID.Valor aquí EmpID es el nombre del cuadro de texto del cuadro de texto
"Employee ID".
 Dept.Value este es el nombre del cuadro de texto "Departamento".

Entonces, hacer clic en el botón "Enviar" almacenará los valores en las celdas
mencionadas.
Ahora, haga doble clic en el botón "Cancelar". También le mostrará el nombre de la
macro automática de esta manera.

Copie el siguiente código y péguelo.

Código:

Botón de cancelación de suscripción privada_Click ()

MyUserForm.Hide

Finalizar sub

MyUserForm es el nombre que le habíamos dado al UserForm. MyUserForm.Hide


significa hacer clic en el botón CANCELAR, que ocultará el formulario de usuario.

Ahora, cree una plantilla como esta en la hoja de trabajo.


Elimine todas las demás hojas del libro excepto esta hoja de plantilla.

Ahora, ve al Editor de Visual Basic.

Y ejecute la Macro usando la tecla F5 o manualmente. Veremos el formulario de


usuario frente a nosotros.
Ingrese el nombre del empleado, la identificación del empleado y el nombre del
departamento.

Ahora, si hace clic en el botón ENVIAR, almacenará los valores en la plantilla que
hemos creado.
De esta manera, puede seguir ingresando los nombres. El formulario de usuario
seguirá almacenando los valores ingresados por el usuario en las celdas especificadas.

Entonces, al usar USERFORM, podemos crear maravillosos proyectos para obtener


información del usuario.
COMANDOS

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):

Y este 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 (ComBox):


Para continuar, este 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):

Bien, ahora este 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 opción determinada entre varias
posibilidades. Ejemplo: Querremos que el usuario indique, si es del sexo femenino o
masculino.

Y 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.

Además, 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 Botón 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 países, con el ScrollBar podemos subir y bajar por
la lista de los mismos utilizando las flechas de desplazamiento.

Botón 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 predeterminadas
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.
Las etiquetas (Labels o títulos)

Los usuarios no pueden modificar esta información. Generalmente se trata de títulos,


elementos o información que se le impone al usuario, como una fecha, por ejemplo.

 Para agregar un control Label en un UserForm, haga clic en el icono  del cuadro de


herramientas.
El puntero del ratón se transforma en una cruz fina acompañada de una A mayúscula.
 A continuación, cree el control con ayuda del ratón:

 Por defecto, el nombre del control es Label1, Label2, etc. Para modificar este nombre,
modifique la propiedad Caption del control.

Para cambiar el título que se visualizará en el cuadro de diálogo, escriba el nombre


del UserForm, el nombre del control tal cual lo define la propiedad Name seguido de la
propiedad Caption.

Por ejemplo, podemos escribir la fecha del sistema en el control Label1 de la siguiente
forma:

Me.Label1.Caption = Date
Atención: no confunda la propiedad Caption (que corresponde a la palabra que se
muestra en el cuadro de diálogo), con la propiedad Name del control (que define el
control en sí). Esto se aplica a TODOS los controles.

Por el contrario, si cambia la propiedad Name de su control (como por ejemplo


La_Fecha), tendrá que escribir en su línea de comando:

Me.La_Fecha.Caption = Date

También podría gustarte