in

VBA – Formularios de usuario

vba user form 1

A Formulario de usuario es un cuadro de diálogo personalizado que hace que la entrada de datos del usuario sea más controlable y más fácil de usar para el usuario. En este capítulo, aprenderá a diseñar un formulario simple y agregar datos a Excel.

Paso 1 – Navegue a la ventana de VBA presionando Alt + F11 y navegue al menú «Insertar» y seleccione «Formulario de usuario». Al seleccionar, el formulario de usuario se muestra como se muestra en la siguiente captura de pantalla.

Declaraciones de toma de decisiones en VBScript

Paso 2 – Diseñar los formularios utilizando los controles dados.

Declaraciones de toma de decisiones en VBScript

Paso 3 – Después de agregar cada control, los controles deben ser nombrados. El título corresponde a lo que aparece en el formulario y el nombre corresponde al nombre lógico que aparecerá cuando escriba el código VBA para ese elemento.

Declaraciones de toma de decisiones en VBScript

Paso 4 – A continuación se muestran los nombres de cada uno de los controles agregados.

Control Nombre lógico Subtítulo
De frmempform Formulario de empleado
Caja de etiqueta de identificación de empleado empid ID de empleado
cuadro de etiqueta de nombre primer nombre Primer nombre
Cuadro de etiqueta de apellido apellido Apellido
caja de etiquetas dob dob Fecha de cumpleaños
Caja de etiquetas de correo electrónico identificación del correo Identificación de correo
Caja de etiquetas para titulares de pasaportes Titular de pasaporte Titular de pasaporte
Cuadro de texto de ID de emp txtempid No aplica
Cuadro de texto de nombre txtfirstname No aplica
Cuadro de texto de apellido txtlastname No aplica
Cuadro de texto de ID de correo electrónico txtemailid No aplica
Cuadro combinado de fecha cmbdate No aplica
Cuadro combinado de mes cmbmonth No aplica
Cuadro combinado de año cmbyear No aplica
Sí Botón de radio radio sí
Sin botón de radio radiono No
Botón de enviar btnsubmit Enviar
Botón Cancelar btncancel Cancelar

Paso 5 – Agregue el código para el evento de carga del formulario haciendo clic con el botón derecho en el formulario y seleccionando ‘Ver código’.

Declaraciones de toma de decisiones en VBScript

Paso 6 – Seleccione ‘Formulario de usuario’ en el menú desplegable de objetos y seleccione el método ‘Inicializar’ como se muestra en la siguiente captura de pantalla.

Declaraciones de toma de decisiones en VBScript

Paso 7 – Al cargar el formulario, asegúrese de que los cuadros de texto estén limpios, los cuadros desplegables estén llenos y los botones de radio estén restablecidos.

Private Sub UserForm_Initialize()
   'Empty Emp ID Text box and Set the Cursor 
   txtempid.Value = ""
   txtempid.SetFocus
   
   'Empty all other text box fields
   txtfirstname.Value = ""
   txtlastname.Value = ""
   txtemailid.Value = ""
   
   'Clear All Date of Birth Related Fields
   cmbdate.Clear
   cmbmonth.Clear
   cmbyear.Clear
   
   'Fill Date Drop Down box - Takes 1 to 31
   With cmbdate
      .AddItem "1"
      .AddItem "2"
      .AddItem "3"
      .AddItem "4"
      .AddItem "5"
      .AddItem "6"
      .AddItem "7"
      .AddItem "8"
      .AddItem "9"
      .AddItem "10"
      .AddItem "11"
      .AddItem "12"
      .AddItem "13"
      .AddItem "14"
      .AddItem "15"
      .AddItem "16"
      .AddItem "17"
      .AddItem "18"
      .AddItem "19"
      .AddItem "20"
      .AddItem "21"
      .AddItem "22"
      .AddItem "23"
      .AddItem "24"
      .AddItem "25"
      .AddItem "26"
      .AddItem "27"
      .AddItem "28"
      .AddItem "29"
      .AddItem "30"
      .AddItem "31"
   End With
   
   'Fill Month Drop Down box - Takes Jan to Dec
   With cmbmonth
      .AddItem "JAN"
      .AddItem "FEB"
      .AddItem "MAR"
      .AddItem "APR"
      .AddItem "MAY"
      .AddItem "JUN"
      .AddItem "JUL"
      .AddItem "AUG"
      .AddItem "SEP"
      .AddItem "OCT"
      .AddItem "NOV"
      .AddItem "DEC"
   End With
   
   'Fill Year Drop Down box - Takes 1980 to 2014
   With cmbyear
      .AddItem "1980"
      .AddItem "1981"
      .AddItem "1982"
      .AddItem "1983"
      .AddItem "1984"
      .AddItem "1985"
      .AddItem "1986"
      .AddItem "1987"
      .AddItem "1988"
      .AddItem "1989"
      .AddItem "1990"
      .AddItem "1991"
      .AddItem "1992"
      .AddItem "1993"
      .AddItem "1994"
      .AddItem "1995"
      .AddItem "1996"
      .AddItem "1997"
      .AddItem "1998"
      .AddItem "1999"
      .AddItem "2000"
      .AddItem "2001"
      .AddItem "2002"
      .AddItem "2003"
      .AddItem "2004"
      .AddItem "2005"
      .AddItem "2006"
      .AddItem "2007"
      .AddItem "2008"
      .AddItem "2009"
      .AddItem "2010"
      .AddItem "2011"
      .AddItem "2012"
      .AddItem "2013"
      .AddItem "2014"
   End With
   
   'Reset Radio Button. Set it to False when form loads.
   radioyes.Value = False
   radiono.Value = False

End Sub

Paso 8 – Ahora agregue el código al botón Enviar. Al hacer clic en el botón enviar, el usuario debería poder agregar los valores a la hoja de trabajo.

Private Sub btnsubmit_Click()
   Dim emptyRow As Long
  
   'Make Sheet1 active
   Sheet1.Activate
  
   'Determine emptyRow
   emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1
  
   'Transfer information
   Cells(emptyRow, 1).Value = txtempid.Value
   Cells(emptyRow, 2).Value = txtfirstname.Value
   Cells(emptyRow, 3).Value = txtlastname.Value
   Cells(emptyRow, 4).Value = cmbdate.Value & "/" & cmbmonth.Value & "/" & cmbyear.Value
   Cells(emptyRow, 5).Value = txtemailid.Value
  
   If radioyes.Value = True Then
      Cells(emptyRow, 6).Value = "Yes"
   Else
      Cells(emptyRow, 6).Value = "No"
   End If
End Sub

Paso 9 – Agregue un método para cerrar el formulario cuando el usuario haga clic en el botón Cancelar.

Private Sub btncancel_Click()
   Unload Me
End Sub

Paso 10 – Ejecute el formulario haciendo clic en el botón «Ejecutar». Ingrese los valores en el formulario y haga clic en el botón ‘Enviar’. Automáticamente, los valores fluirán hacia la hoja de trabajo como se muestra en la siguiente captura de pantalla.

Declaraciones de toma de decisiones en VBScript

Deja una respuesta

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

Programa simple de Scala – javatpoint

apple touch icon@2

Plantillas de django: ¿Python tiene un equivalente toString () y puedo convertir un elemento db.Model en String?