Cómo crear formularios con Excel

Por contributor

Abre un libro en Excel. Si sabes en cuál libro quieres que tu formulario esté, entonces ahora es el momento de abrirlo. Usa el menú Archivo para acceder el libro.

Haz clic en el menú "Herramientas", selecciona "Macro" y haz clic en "Editor de Visual Basic".

Haz clic en "Insertar" y luego selecciona "UserForm".

Arrastra un botón de comando al formulario. Necesitas al menos tres de estos para este ejemplo.

Ponle nombres a los botones de comando y etiquetas. Haz clic en "Ver" y "Ventana de propiedades". Haz clic en uno de los botones de comando que colocaste en el formulario.

Ponle nombre al botón de comando que se leerá "Aceptar" haciendo clic en la configuración del nombre en la ventana Propiedades y escribiendo "cmdOK". Haz clic en la configuración "Leyenda" en la ventana Propiedades y escribe "Aceptar".

Haz clic en otro botón de comando. Colócale el nombre de "cmdCancel" y establece el título para que se lea "Cancelar" en la ventana Propiedades.

Haz clic en el tercer botón de comando y nómbralo “cmdClearForm" y cambia la configuración del título para que se lea "Borrar Formulario"

Pulsa la tecla "F7" de tu teclado para que aparezca la ventana de código.

Haz clic en la lista desplegable en la parte superior de la ventana de código. Haz clic en la lista de arriba a la izquierda para abrir el subprocedimiento llamado "Formulario de usuario" y haz clic en la otra lista desplegable para seleccionar "Iniciar".

Elimina el subprocedimiento antes mencionado que se lee: procedimiento UserForm_Click ().

Escribe el siguiente código en la ventana de código (no escribas sobre el texto azul, sólo tienes que añadir el texto en negro):Private Sub UserForm_Initialize() txtName.Value = "" txtPhone.Value = "" With cboDepartment .AddItem "Employees" .AddItem "Managers" End With YourCourse.Value = "" optIntroduction = True chkWork = False chkVacation = False txtName.SetFocus End Sub

Introduce el código en el botón Cancelar. Haz doble clic en el botón Cancelar para abrir la ventana de código. Escribe tu código para que la ventana de código se lea: Private Sub cmdCancel_Click() Unload Me End Sub

Abre la ventana de código para el botón de Borrar Formulario. Recuerda hacer doble clic en el "Borrar Formulario".

Escribe tu código en la ventana de código para que se lea: Private Sub cmdClearForm_Click() Call UserForm_Initialize End Sub

Haz doble clic en el botón "Aceptar" para agregar el siguiente código en la ventana de código: Private Sub cmdOK_Click() ActiveWorkbook.Sheets("YourWork").Activate Range("A1").Select Do If IsEmpty(ActiveCell) = FalseThen ActiveCell.Offset(1, 0).Select End If Loop Until IsEmpty(ActiveCell) = True ActiveCell.Value = txtName.Value ActiveCell.Offset(0, 1) = txtPhone.Value ActiveCell.Offset(0, 2) = cboDepartment.Value ActiveCell.Offset(0, 3) = cboCourse.Value If optIntroduction = True Then ActiveCell.Offset(0, 4).Value = "Intro" ElseIf optIntermediate = True Then ActiveCell.Offset(0, 4).Value = "Intermed" Else ActiveCell.Offset(0, 4).Value = "Adv" End If If chkLunch = True Then ActiveCell.Offset(0, 5).Value = "Yes" Else ActiveCell.Offset(0, 5).Value = "No" End If If chkWork = True Then ActiveCell.Offset(0, 6).Value = "Yes" Else If chkVacation = False Then ActiveCell.Offset(0, 6).Value = "" Else ActiveCell.Offset(0, 6).Value = "No" End If End If Range("A1").Select End Sub