Formularios de usuario en macros de Excel

Un UserFrom se refiere a un formulario o cuadro de diálogo en la pantalla que permite a un usuario ingresar datos en la interfaz de usuario de Excel. se puede crear utilizando el Editor de Visual Basic y se utiliza para controlar la entrada de datos y evitar errores.

1. Crear un formulario de usuario: 

Para crear un formulario de usuario, diríjase a la pestaña Desarrollador-> Visual Basic->Insertar->UserForm.

También puede ir a la ventana Proyecto en el lado izquierdo y hacer clic derecho en el libro de trabajo que desea usar y seleccionar Insertar-> Formulario de usuario. Esto abre un formulario de usuario en blanco (UserForm1) y una caja de herramientas (si la caja de herramientas no aparece en Ver> caja de herramientas).

 

2. Nombrar el formulario de usuario:

De forma predeterminada, Excel abre un formulario de usuario con el nombre UserForm1 para cambiar ese nombre:

  • Dirígete a la ventana Propiedades ( ver>Ventana de propiedades). Esto abre un panel a la izquierda.
  • Haga clic en la sección ‘Nombre’ y escriba un nombre de su elección. (no agregue espacios)
  • El nombre no se reflejará en el formulario de usuario cuando lo haga porque esa es una propiedad diferente del formulario.
  • Diríjase a la propiedad ‘Título’ y escriba un nombre, y se reflejará en su formulario de usuario.

Ahora juguemos con algunos controles y aprendamos cómo agregarlos a nuestro formulario de usuario.

3. Agregar un cuadro de texto al formulario de usuario:

Se utiliza un cuadro de texto para permitir a los usuarios ingresar información en el formulario. 

  • Para agregar un encabezado de cuadro de texto en el cuadro de herramientas. Haga clic en (Ver->Caja de herramientas) si no está visible de forma predeterminada.
  • Seleccione el botón Cuadro de texto
  • Haga clic en el formulario de usuario para colocarlo o arrástrelo a la posición que desee.
  • Puede cambiar el tamaño del cuadro de texto a las dimensiones de su agrado

Para cambiar el nombre del cuadro de texto Con el nuevo cuadro de texto seleccionado, haga doble clic en la propiedad ‘Nombre’ en la ventana Propiedades y cámbiele el nombre (aquí se le cambió el nombre a ‘Cuadro de texto’).

4. Agregar una etiqueta al formulario de usuario:

Se puede usar una etiqueta para describir qué tipo de datos se ingresan en los cuadros de texto, un mensaje o instrucciones.

  • Para agregar un cabezal de etiqueta en ToolBox .
  • Seleccione el botón ‘Etiqueta’
  • Haga clic en el formulario de usuario para colocarlo o arrástrelo a la posición que desee.
  • Puedes redimensionarlo a las dimensiones de tu gusto o dejarlo en tamaño estándar.

Para cambiar el nombre de la etiqueta Con la nueva etiqueta seleccionada, haga doble clic en la propiedad ‘Nombre ‘ en la ventana Propiedades y cámbiele el nombre. Además, cambie la propiedad ‘Título’ en consecuencia. ha sido renombrado a ‘LblSelectSheet’ y subtitulado a ‘Por favor, seleccione una hoja de trabajo’.

5. Adición de botones al formulario de usuario:

Para hacer que el formulario sea interactivo, puede colocar botones para realizar ciertas acciones. 

  • Para agregar una cabeza de botón en ToolBox .
  • Seleccione el botón Botón de comando’
  • Haga clic en el formulario de usuario para colocarlo o arrástrelo a la posición que desee.
  • Puede cambiar su tamaño a las dimensiones que desee o cambiar la posición de los botones arrastrándolos a una nueva ubicación en el formulario.

Para cambiar el nombre del botón Con el nuevo botón seleccionado, haga doble clic en la propiedad ‘Nombre’ en la ventana Propiedades y cámbiele el nombre. Luego, cambie la propiedad ‘Título’ para nombrar el botón de manera relevante cerca de la acción que realizará. Por ejemplo, el botón AddSheet y CloseFom en la imagen a continuación. En las imágenes a continuación, se agregaron 2 botones y se les cambió el nombre a ‘CmdAddSheet’ y ‘CmdCloseFrm’ y se subtitularon a ‘Agregar hoja’ y ‘Cerrar formulario’.

6. Agregar código a los botones:

Para garantizar que los botones realicen las acciones, necesitamos codificar dentro de VBA y agregar código para controles específicos, haga doble clic en los controles en el formulario y lo dirigirá al segmento de código específico. Después de agregar el código necesario para cada uno de los controles, haga clic en el botón Ejecutar para mostrar el formulario de usuario.

  • Seleccione el botón, por ejemplo, el botón Agregar hoja en este ejemplo
  • En la barra de menús, elija Ver > Código.
  • Esto crea un procedimiento, donde puede agregar su código.
  • Ingrese el siguiente código para agregar otra hoja a su libro de trabajo y asígnele el nombre de acuerdo con su elección.
Private Sub CmdAddSheet_Click()
Worksheets.Add before:=Worksheets(1)
ActiveSheet.Name = InputBox("please enter the name for the worksheet")
End Sub

7. Agregar código al botón de cerrar :

Agregue el siguiente código para cerrar el formulario haciendo clic en el botón «cerrar desde» y redirigir al VBE.

Private Sub CmdCloseFrm_Click()
  Unload Me
End Sub

8. Probando la forma de usuario:

Para probar el formulario de usuario, simplemente vaya a la barra de menú y presione el botón Ejecutar . Ejecuta el formulario de usuario y lo muestra en la pantalla. Por ejemplo, un formulario de usuario que selecciona una hoja del cuadro combinado y lo dirige a ella, con 2 botones Agregar hoja y el botón Cerrar formulario para agregar una hoja adicional en el libro de trabajo y se muestra el cierre del formulario de usuario. 

El código completo para ejecutar el formulario de usuario anterior que incluye un cuadro combinado con la lista de hojas de trabajo actualmente presentes en el libro de trabajo y la funcionalidad de los botones es:

Private Sub CmdAddSheet_Click()
Worksheets.Add before:=Worksheets(1)
ActiveSheet.Name = InputBox("please enter the name for the worksheet")
End Sub

Private Sub CmdCloseFrm_Click()
Unload Me
End Sub

Private Sub combobox_Change()
Worksheets(Me.combobox.Value).Select


End Sub

Private Sub UserForm_Initialize()
   
    Dim i As Integer
    i = 1
    Do While i <= Worksheets.Count
    Me.combobox.AddItem Worksheets(i).Name
    i = i + 1
    Loop
   
   
End Sub

Para automatizar la experiencia de la forma de usuario o mostrarla tan pronto como abra el libro de trabajo, se debe hacer lo siguiente:

Hacer uso del evento del libro de trabajo

  • Dirígete a la pestaña Desarrollador>Visual Basic.
  • Haga doble clic en   «Este libro de trabajo»  en la ventana del proyecto.
  • Cambie el menú desplegable en la parte superior izquierda de General a libro de trabajo.
  • Agregue esta línea de código al procedimiento «formname.show» ( en el siguiente ejemplo, frmFinalReport.show ).
  • Guardar y ejecutar.

Publicación traducida automáticamente

Artículo escrito por aditipateriya21 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *