Formulario de usuario de Excel VBA: macros simples de Excel

Buenas tardes, me llamo Miguel y hoy os traigo un nuevo post.

Este capítulo enseña cómo crear un Formulario de usuario de Excel VBA. El formulario de usuario que vamos a crear se ve así:

Formulario de usuario de Excel VBA

Agregar controles

Para agregar controles al formulario de usuario, realice los siguientes pasos.

1. Abra el Editor de Visual Basic. Si el Explorador de proyectos no está visible, haga clic en Ver, Explorador de proyectos.

2. Haga clic en Insertar, formulario de usuario. Si la caja de herramientas no aparece automáticamente, haga clic en Ver, caja de herramientas. Su pantalla debe configurarse de la siguiente manera.

Visualización de la pantalla del formulario de usuario en Excel VBA

3. Agregue los controles enumerados en la siguiente tabla. Una vez completado, el resultado debe ser coherente con la imagen del formulario de usuario que se muestra arriba. Por ejemplo, cree un control de cuadro de texto haciendo clic en TextBox en el cuadro de herramientas. A continuación, puede arrastrar un cuadro de texto al formulario de usuario. Cuando llegue al marco del automóvil, recuerde dibujarlo primero antes de colocar los dos botones de radio en él.

4. Cambie los nombres y subtítulos de acuerdo con la siguiente tabla. Los nombres se utilizan en el código Excel VBA. Los subtítulos son los que aparecen en pantalla. Es una buena práctica cambiar los nombres de los controles. Esto facilitará la lectura de su código. Para cambiar los nombres y subtítulos de los controles, haga clic en Ver, Ventana Propiedades y haga clic en cada control.

Control Nombre Título
Formulario de usuario DinnerPlannerUserForm Planificador de cenas
Caja de texto NameTextBox
Caja de texto PhoneTextBox
Cuadro de lista CityListBox
Caja combinada DinnerComboBox
Casilla de verificación DateCheckBox1 13 de junio
Casilla de verificación DateCheckBox2 20 de junio
Casilla de verificación DateCheckBox3 27 de junio
Fotografía CarFrame Auto
Botón de opción CarOptionButton1
Botón de opción CarOptionButton2 No.
Caja de texto MoneyTextBox
Botón rotar MoneySpinButton
Botón de comando OKButton Okay
Botón de comando ClearButton Por supuesto
Botón de comando Botón cancelar Cancelar
7 etiquetas No hay necesidad de cambiar Nombre :, número de teléfono: etc.

Nota: Un cuadro combinado es una lista desplegable desde la cual un usuario puede seleccionar un elemento o completar su propia elección. Solo se puede seleccionar uno de los botones de opción.

Mostrar formulario de usuario

Para mostrar el formulario de usuario, coloque un botón de comando en su hoja de trabajo y agregue la siguiente línea de código:

Privado Sub CommandButton1_Click ()

DinnerPlannerUserForm.Show

Aleta Sub

Ahora creemos el Sub UserForm_Initialize. Cuando utilice el método Show para el formulario de usuario, se ejecutará automáticamente.

1. Abra el Editor de Visual Basic.

2. En el Explorador de proyectos, haga clic con el botón derecho en DinnerPlannerUserForm y haga clic en Ver código.

3. Elija Formulario de usuario en la lista desplegable de la izquierda. Elija Inicializar en la lista desplegable de la derecha.

4. Agregue las siguientes líneas de código:

Privado Sub UserForm_Initialize ()

NameTextBox.Value = ""

PhoneTextBox.Value = ""

CityListBox.Clear

Con CityListBox
.AddItem "San Francisco"
.Añadir elemento "Oakland"
.Añadir elemento "Richmond"
Aleta Con

DinnerComboBox. Por supuesto

Con DinnerComboBox
.AddItem "italiano"
.AddItem "chino"
.Añadir artículo "Patatas fritas y carne"
Aleta Con

DateCheckBox1.Value = Falso

DateCheckBox2.Value = Falso

DateCheckBox3.Value = Falso

CarOptionButton2.Value = Cierto

MoneyTextBox.Value = ""

NameTextBox.SetFocus

Aleta Sub

Explicación: los cuadros de texto se vaciarán, los cuadros de lista y los cuadros combinados se completarán, las casillas de verificación no estarán marcadas, etc.

Asignar macros

Ahora hemos creado la primera parte del formulario de usuario. Aunque parece ordenado, no pasará nada cuando hagamos clic en los botones de comando en el formulario de usuario.

1. Abra el Editor de Visual Basic.

2. En el Explorador de proyectos, haga doble clic en DinnerPlannerUserForm.

3. Haga doble clic en el botón Girar dinero.

4. Agregue la siguiente línea de código:

Privado Sub MoneySpinButton_Change ()

MoneyTextBox.Text = MoneySpinButton.Value

Aleta Sub

Explicación: Esta línea de código actualiza el cuadro de texto cuando usa el botón Rotar.

5. Haga doble clic en el botón Aceptar.

6. Agregue las siguientes líneas de código:

Privado Sub OKButton_Click ()

Oscuro emptyFila Cómo Largo

Hoja1.Activa

emptyRow = WorksheetFunction.CountA (Range ("A: A")) + 1

Celdas (fila vacía, 1) .Value = BoxName.Value
Celdas (fila vacía, 2) .Value = PhoneTextBox.Value
Celdas (fila vacía, 3) .Value = CityListBox.Value
Celdas (fila vacía, 4) .Value = DinnerComboBox.Value

DateCheckBox1.Value = Cierto Entonces Celdas (emptyRow, 5) .Value = DateCheckBox1.Caption

DateCheckBox2.Value = Cierto Entonces Cells (emptyRow, 5) .Value = Cells (emptyRow, 5) .Value & "" & DateCheckBox2.Caption

DateCheckBox3.Value = Cierto Entonces Cells (emptyRow, 5) .Value = Cells (emptyRow, 5) .Value & "" & DateCheckBox3.Caption

CarOptionButton1.Value = Cierto Entonces

Celdas (emptyRow, 6) .Value = "Sí"
Otra cosa

Celdas (emptyRow, 6) .Value = "No"
Aleta

Celdas (fila vacía, 7) .Value = MoneyTextBox.Value

Aleta Sub

Explicación: Primero, activamos Sheet1. A continuación, determinamos la fila vacía. La variable emptyRow es la primera fila vacía y aumenta cada vez que se agrega un registro. Finalmente, transferimos la información del formulario de usuario a las columnas específicas de emptyRow.

7. Haga doble clic en el botón Eliminar.

8. Agregue la siguiente línea de código:

Privado Sub ClearButton_Click ()

Llamada UserForm_Initialize

Aleta Sub

Explicación: Esta línea de código llama a UserForm_Initialize Sub cuando hace clic en el botón Eliminar.

9. Haga doble clic en el botón Cancelar.

10. Agregue la siguiente línea de código:

Privado Sub CancelButton_Click ()

Descargarme

Aleta Sub

Explicación: Esta línea de código cierra el formulario de usuario cuando hace clic en el botón Cancelar.

Prueba el formulario de usuario

Salga del Editor de Visual Basic, ingrese las etiquetas que se muestran a continuación en la fila 1 y pruebe el formulario de usuario.

Resultado:

Prueba el formulario de usuario

Deja una respuesta

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

Subir

Esta página utiliza Cookies. Más info