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 esté trabajando con un archivo de macro creado por su senior o que pueda 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 INSERT en el Editor de Visual Basic para insertar el formulario de usuario.
Tan pronto como haga clic en esto, también se insertará el formulario de usuario.

Antes de que le diga 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 este formulario de usuario, inserte Toolbox.

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 trabajo 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 utilizando 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ás 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 manera, 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".

Insert one more button and call it “Cancel.”

Now just to see run, press the run button or use the F5 key and see how your userform looks like in Excel.

Now it is coming to the shape.
VBA Code
Now the user will enter data in this, so we need to program this to store the data entered by the user on this form.
Double click on the SUBMIT button, it will take you to the macro window with an auto-created macro like the below.

It says SubmitButton click, remember we had given a name for the 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 the Employee ID text box.
- Dept.Value this is the department text box name.
So, on the click on the submit button, it will store the values in the mentioned cells.
Now double click on the 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 es el nombre que le dimos al formulario de usuario . MyUserForm.Hide significa que al hacer clic en el botón CANCELAR se ocultará el formulario de usuario .
Bien, ahora cree una plantilla como esta en la hoja de trabajo.

Elimine todas las demás hojas del libro de trabajo excepto esta hoja de plantilla.
Ahora vaya 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 USER FORM, podemos crear proyectos maravillosos para obtener la información del usuario.