Introducción a los formularios de usuario de Excel VBA

Anonim


En este artículo, aprenderá los conceptos básicos de los formularios de usuario de VBA. Explicaré cómo crear un formulario en Excel, cómo usar la caja de herramientas de VBA, cómo manejar las entradas del usuario y finalmente cómo almacenar las entradas del usuario. Repasaremos estos temas usando un ejemplo y una guía paso a paso. Si está leyendo esto, supongo que conoce los conceptos básicos de Excel VBA.
Sin más demora, comencemos.
Cree un formulario de inversión en Excel y almacene el registro
Empezaremos diseñando el formulario de usuario. En este formulario de usuario, tendremos un cuadro de texto para el nombre, uno para la edad, uno para el monto de la inversión y un par de botones de opción para el género. Empecemos.

Diseñar el formulario de usuario

  • Abra el editor visual básico en Excel usando el atajo ALT + F11. En Project Box, haga clic derecho en Proyecto VBA(tu archivo). En insertar opción, elige Formulario de usuario.
  • Inmediatamente, se creará una nueva carpeta y se encontrará su formulario de usuario. Todos los formularios de usuario para este proyecto se agregarán en esta carpeta.
  • Cambie el nombre del formulario a InvestmentForm en el caja de propiedad.
  • El cuadro de propiedades se muestra en la parte inferior izquierda del explorador de proyectos. Si no puede verlo, vaya a ver y haga clic en Ventana Propiedades. Lo usaremos mucho, así que asegúrese de que esté allí. Se utiliza para diseñar, nombrar y personalizar formularios.

  • Agregue elementos al formulario: En la imagen de arriba ya he agregado elementos (etiquetas, cuadro de texto, botón de comando). Sin embargo, un nuevo formulario de usuario está completamente en blanco. Debe usar la caja de herramientas para agregar elementos a su formulario. Si no puede ver la caja de herramientas, consígala en vista pestaña.

  • Agregue etiquetas usando la caja de herramientas para nombres descriptivos. Agregue un cuadro de texto para las entradas del usuario.

    Agregue dos botones de radio y nómbrelos Masculino y Femenino.

    He usado un marco para encapsularlos, pero no es necesario.

    Agregar botones de comando enviar y cancelar para realizar la operación en una entrada dada.

  • Elementos del nombre: El cuadro de texto, las etiquetas, los botones, etc. son elementos. Y para usarlos en el código VBA, debemos darles nombres. Usamos la ventana de propiedad para cambiar su nombre.
  • Seleccione el elemento. Aquí selecciono el cuadro de texto para el nombre. Vaya a la ventana de propiedades y cambie el nombre a "Nombre de Caja”. Haz lo mismo con cada elemento que vayas a utilizar. (no es necesario que asigne un nombre a las etiquetas, a menos que desee que se pueda hacer clic en ellas.)


Cambié el nombre del elemento como se muestra en la siguiente tabla y usaré estos nombres para referirme a ellos. Puedes tener diferentes nombres. Simplemente reemplace estos nombres con su nombre. Estos son nombres de VBA (nombre de código) que se utilizarán en el código. No se reflejarán en la forma.
El texto que puede ver en las etiquetas y los botones es "Leyendas". El nombre y el título del elemento pueden ser los mismos, si lo desea.

Elemento Rebautizar
Cuadro de texto de nombre Nombre de Caja
Cuadro de texto de edad AgeBox
Botón de opción masculino MaleOption
Botón de opción femenina Opción Femenina
Cuadro de texto de inversión InvestBox
Enviar botón de comando Botón de enviar
Cancelar el botón de comando CancelarBotón
  • Mostrar formulario de usuario al usuario: ahora que el formulario está listo, mostrámoslo al usuario. Pero espera, ¿cómo hago eso? No hay ninguna opción en la hoja de trabajo para llamar al formulario de usuario.
  • En realidad, el formulario de usuario debe activarse. No se puede mostrar por sí solo. Puede usar un botón de comando, una subrutina o un evento para hacer que el formulario aparezca en la pantalla.

    Aquí voy a usar un botón de comando para activar el formulario de usuario.

    • En una hoja de trabajo, ¿ir a la pestaña de desarrolladores? ¿Insertar? Botón (control de formulario). Cambiarle el nombre de forma abierta.
    • Haz clic derecho sobre él. Haga clic en asignar macro y luego haga clic en nuevo.

  • Se creará un sub inmediatamente. Ahora agregue esta línea a ese sub.
Sub Open_Form () 'Formulario de apertura InvestmentForm.Show End Sub 

Se hace. Regrese a esa hoja y haga clic en el botón. Aparecerá el formulario de usuario.

  • Llenar la hoja usando el formulario de usuario de VBA: al hacer clic en el botón de comando (formulario abierto), aparece el formulario. Ahora puedes completar el formulario. Pero cuando hacemos clic en el botón enviar, los datos deberían haberse ingresado en esta hoja, pero no sucede nada.

Porque no hemos escrito ninguna instrucción vba para eso. Necesitamos almacenar los datos del formulario de usuario en una hoja.

  • Regrese a VBA y haga doble clic en el Enviar botón. Se creará un nuevo sub automáticamente. Este sub está incrustado en el formulario y no puede encontrarlo en ningún módulo. Esto es lo mismo para cada elemento de la forma.
  • Escribe este código vba en ese sub.
 Private Sub SubmitButton_Click () Sheet1.Activate 'obtener la primera fila vacía en la hoja (leer sobre esto aquí) lstrow = Cells (Rows.Count, 1) .End (xlUp) .Row Set firstEmptyRow = Range ("A" & lstrow + 1 ) 'inicializa cada celda con datos firstEmptyRow.Offset (0, 0) .Value = nameBox.Value' primera celda firstEmptyRow.Offset (0, 1) .Value = AgeBox.Value 'primera celda a la derecha firstEmptyRow.Offset (0, 3) .Value = InvestBox.Value 'tercera celda a la derecha' marcando el botón de radio Si MaleOption.Value = True Entonces firstEmptyRow.Offset (0, 2) .Value = "Male" 'segunda celda a la derecha Else firstEmptyRow.Offset ( 0, 2) .Value = "Female" 'segunda celda a la derecha End If' Formulario de cierre Descargar Me End Sub 

El fragmento de código VBA anterior se ejecuta cuando se hace clic en el botón Enviar. Encuentra la primera fila vacía en la hoja y la llena con los valores proporcionados en el formulario. Y al final cierra el formulario usando el comando “Descargarme”.

  • Utilice el comando Cancelar para cerrar el formulario. Por ahora, el botón cancelar es inútil. No hace nada. En caso de que desee cancelar la entrada, puede utilizar el botón cancelar. En ese caso:

Haga doble clic en el botón de comando cancelar en el editor de VBA. Se creará un nuevo sub. Simplemente escriba esta línea de código para cerrar el formulario de usuario.

 Private Sub CancelButton_Click () 'Formulario de cierre Descargar Me End Sub 

Finalmente, el código del formulario se verá así.

Y eso es. Así es como se usa el formulario de usuario de Excel vba para obtener información de los usuarios. En este artículo, acabamos de explorar el uso básico del formulario de usuario, para que se familiarice con él. Es simple, si tiene conocimientos básicos de vba.

En artículos futuros, exploraremos funcionalidades más avanzadas de los formularios de usuario de vba en Excel. Crearemos un formulario de usuario en Excel para hacer mucho más. Exploraremos diferentes herramientas y elementos disponibles para el formulario de usuario de vba. Hasta entonces practica esto. Puede descargar este archivo como referencia si lo desea.
Así que sí, chicos, este fue un tutorial de forma de usuario pequeño y simple. Espero que haya sido ingenioso. Avíseme si tiene alguna duda al respecto, hágamelo saber en la sección de comentarios a continuación.
Artículos relacionados

Cambie el valor / contenido de varios controles de UserForm usando VBA en Excel

Evite que un formulario de usuario se cierre cuando el usuario hace clic en el botón x utilizando VBA en Excel

Devuelve las celdas a las que hace referencia el usuario usando el control RefEdit del formulario de usuario en Excel
Articulos populares:
La función BUSCARV en Excel

CONTAR.SI en Excel 2016

Cómo usar la función SUMIF en Excel