Formulario de usuario de VBA

Formulario de usuario de Excel VBA

Los formularios de usuario en VBA son formularios personalizados definidos por el usuario que están hechos para recibir información de un usuario en el formato de un formulario, 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 almacena el valor en la hoja de trabajo, cada parte del formulario de usuario tiene un código único.

El formulario de usuario es un objeto dentro de la interfaz de Excel y dentro de este formulario de usuario, podemos crear otros cuadros de diálogo personalizados útiles para obtener los datos del usuario. Cuando trabaja con un archivo de macro creado por su senior o puede descargarse de Internet, debe haber visto un formulario de usuario como este.

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?

Al igual que cuando inserta un nuevo módulo de manera similar, debe hacer clic en el botón INSERTAR en el Editor de Visual Basic para insertar el 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

Tan pronto como haga clic en esto, también se insertará el formulario de usuario.

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

Formateo del formulario de usuario

Al seleccionar el formulario de usuario, presione la tecla F4, le mostrará la ventana de 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 formulario de usuario.

Ahora, para esta caja de herramientas de inserción de formulario de usuario.

Ahora veremos una caja de herramientas como esta.

En este momento, el formulario de usuario simplemente se inserta, no se programa. Para saber cómo funciona simplemente haga clic en el botón Ejecutar, veremos el formulario en la hoja de Excel.

Ahora usando la etiqueta de dibujo de ToolBox.

Ingrese el texto como nombre del empleado dentro de la etiqueta.

Para esta etiqueta, podemos formatear usando propiedades. Ahora hemos ingresado el texto como "Nombre del empleado:" ahora podemos ver esto en la ventana de propiedades debajo de Leyendas.

Inserte una etiqueta más. Para insertar una etiqueta más, puede hacer clic en una caja de herramientas o puede arrastrar la etiqueta actual manteniendo presionada la tecla Ctrl , tendrá una réplica de la etiqueta actual.

Ahora tendremos la misma etiqueta.

Cambie el nombre a ID de empleado.

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

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

Nombra este cuadro de texto como EmpName en la ventana de propiedades.

De esta forma, inserte dos cuadros de texto más en ID de empleado y Departamento respectivamente. Nombra esos cuadros de texto según su título.

Del mismo modo, hazlo por el Departamento.

Ahora, desde la caja de herramientas, inserte el botón de comando.

Cambie el nombre del botón de comando a "SubmitButton" y cambie el título a "Submit".

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

Ahora solo 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á llegando a la forma.

Código VBA

Ahora el usuario ingresará datos en este, por lo que debemos programarlo para almacenar los datos ingresados ​​por el usuario en este formulario.

Haga doble clic en el botón ENVIAR, lo llevará a la ventana de macro con una macro creada automáticamente como la siguiente.

It says SubmitButton click, remember we had given a name for SUBMIT button as SubmitButton.

So, whenever we want to call this button we can call this by this name (submit button). Inside this macro copy and paste the below code.

Code:

 Private Sub SubmitButton_Click() Dim LR As Long LR = Cells(Rows.Count, 1).End(xlUp).Row + 1 Cells(LR, 1).Value = EmpName.Value Cells(LR, 2).Value = EmpID.Value Cells(LR, 3).Value = Dept.Value EmpName.Value = "" EmpID.Value = "" Dept.Value = "" End Sub 

  • EmpName.Value here EmpName is the text box name we had given while creating the employee name text box.
  • EmpID.Value here EmpID is the text box name of Employee ID text box.
  • Dept.Value this is department text box name.

So, on the click on submit button it will store the values in the mentioned cells.

Now double click on Cancel button, this will also show you the auto macro name like this.

Copy the below code and paste.

Code:

 Private Sub CancelButton_Click() MyUserForm.Hide End Sub 

MyUserForm is the name we had given to the userform. MyUserForm.Hide means on the click on the CANCEL button it will hide the userform.

Ok, now create a template like this in the worksheet.

Delete all the other sheets in the workbook except this template sheet.

Now go to Visual Basic Editor.

And run the macro using F5 key or manually, we will see user form in front of us.

Enter the employee name, employee id, and Department name.

Now if you click on the SUBMIT button, it will store the values on to the template we have created.

Like this you can keep entering the names, userform will keep storing the values entered by the user in the specified cells.

So by using USER FORM, we can actually create wonderful projects to get the information from the user.