Vamos a usar lo que hemos aprendido sobre el uso de los botones de control de formularios relativos a los cuadros de texto.
Cargue a memoria el Excel y usando [Alt]+F11 vaya al editor e inserte un formulario.
Modifiquemos algunas de sus propiedades en la [Ventana de propiedades].
Estando seleccionado el formulario, haga clic en su
Haciendo clic en [BackColor] cambie el color de fondo al color que Ud. desee. Haga clic en [Font], despliegue la lista (clic en …) y seleccione como
En este caso deseamos ingresar los mínimos datos de una venta (Nombre del producto, cantidad vendida, precio unitario), calcular el monto de la venta, aplicar el IGV de 18% y calcular el monto de la venta neta.
Habiendo terminado con una venta, se debe limpiar los cuadros de texto y dejar el cursor en el cuadro de control del Nombre del producto para ingresar datos de la siguiente venta.
Inserte tres botones de [Cuadro de texto] y un [Botón de comando] y distribúyalo como se muestra en la primera imagen adjunta al final de esta sección.
p>Si fuera necesario, amplíe el formulario hacia la derecha. El orden de inserción de los cuadros que sea de izquierda a derecha y al final el botón de comando.
Vamos a darle nombre a cada uno de los botones. Los nombres de los cuadros de control empezarán con “Txt” y los botones de comando con “Cmd”. Esto es sólo para guardar alguna referencia al tipo de botón que estamos usando.
- Seleccione el primer cuadro de texto. Clic en su [Name], digte TxtNomProd. Su [TabIndex] debe ser 0.
- Seleccione el segundo cuadro de texto. Clic en su [Name], digte TxtCantidad. Su [TabIndex] debe ser 1.
- Seleccione el tercer cuadro de texto. Clic en su [Name], digte TxtPrUnit. Su [TabIndex] debe ser 2.
- Seleccione el botón de comando. Clic en su [Name], digte CmdFin. Su [TabIndex] debe ser 3. Clic en su [Caption] y digite “Aceptar”.
Puesto que cuando se ejecute el formulario no sabremos a qué se refiere cada cuadro de control, vamos a insertar un botón de Etiqueta, por encima de cada uno de los tres cuadros de control que hemos insertados.
En el [Cuadro de herramientas} haga clic en el botón de [Etiqueta]. Despliegue un recuadro por encima del primer cuadro de texto. Como puede ver en la ventana de propiedades, su name es Label1.
Como no vamos a hacer referencia a este botón, lo dejaremos con ese nombre. Haga clic en su [Caption]. Digite “Nombre del producto”. Si el botón fuera muy pequeño o muy grande, aumente o reduzca su tamaño. Inserte otra etiqueta para el cuadro de control de Cantidad, en su [Caption] digite “Cantidad” y en el tercero digite “Pr. Unitario”.
Cuando se ejecute el formulario, estos tres datos se van a transferir a otros tres cuadros de control de recepción.
Calcularemos el Monto de la venta y la venta neta, para los cuales se requiere dos nuevos cuadros de control. Luego de ingresar los datos de la venta, se requiere un botón de comando para realizar la transferencia. Por ello insertaremos a la derecha de los tres cuadros de texto iniciales, un botón de comando.
En consecuencia insertaremos 5 cuadros de control que se llamarán: TxtProd, TxtCant, TxtPrUn, TxtVta y TxtVNeta. El botón de comando se llamará CmdTransf y su Caption será [Ok].
Finalmente necesitamos un botón de comando para registrar los datos de nuevas ventas. Insertaremos un nuevo botón de comando cuyo name será CmdNuevo y su Caption será
La segunda imagen adjunta muestra finalmente, cómo debe quedar el formulario. Si le falta espacio, amplíe el formulario horizontalmente.
Según el
Según vimos en la Sección anterior (Parte 093), debemos hacer clic para transferir estos datos a los cuadros de texto correspondientes de salida y calcular lo que sea necesario y ponerlos en los últimos dos cuadros de texto. Sólo para aumentar las versatilidades, haremos el ingreso y transferencia, simultáneamente y sólo haremos clic en
Codifiquemos entonces:
Recuerde que, para pasar al código referente a un botón, debe hacer doble clic en el botón.
Para volver al formulario, debe hace doble clic en el icono MiForm02 de la carpeta [Formularios] en la [Ventana de proyectos] o hacer clic en el primer icono debajo del título “Proyecto VBAProject”. Primero doble clic en el botón [Aceptar] y digitar en su interior, la instrucción End.
Siempre debemos tener la forma de dar por terminado el formulario, de otra forma se quedará colgado cuando algo falle o no sepamos qué ingresar.
Ahora doble clic en el primer cuadro de control (TxtNomProd). Digitaremos a su interior:
TxtProd.Text = TxtNomProd.Text
De forma que cuando se ingrese el texto en dicho cuadro, también se esté ingresando en el cuadro de salida.
Doble clic en el segundo cuadro de texto (Cantidad); ingrese:
TxtCant.Text = TxtCantidad.Text
Y en el tercer cuadro de texto (Pr unitario):
| TxtPrUn.Text = TxtPrUnit.Text
Pasemos a programar el botón [Ok]
Doble clic en él. Digitamos las siguientes instrucciones:
TxtVta.Text = Val(TxtCant.Text)*Val(TxtPrUn.text)
TxtVNeta.Text = Val(TxtCant.Text)*Val(TxtPrUn.text)+ Val(TxtCant.Text)*Val(TxtPrUn.text)*0.18
Finalmente, programemos el botón
Todos los cuadros de texto deben quedar en blanco y el cursor debe quedar habilitado en el primer cuadro; es decir, en el nombre del producto. Esto lo hacemo con:
TxtNomProd.Text = ""
TxtCantidad.Text = ""
TxtPrUnit.Text = ""
TxtProd.Text = ""
TxtCant.Text = ""
TxtPrUn.Text = ""
TxtVta.Text = ""
TxtVNeta.Text = ""
TxtNomProd.SetFocus
De esta manera el código de todos los botones será:
Private Sub CmdFin_Click()
End
End Sub
Private Sub CmdNuevo_Click()
TxtNomProd.Text = ""
TxtCantidad.Text = ""
TxtPrUnit.Text = ""
TxtProd.Text = ""
TxtCant.Text = ""
TxtPrUn.Text = ""
TxtVta.Text = ""
TxtVNeta.Text = ""
TxtNomProd.SetFocus
End Sub
Private Sub CmdTransf_Click()
TxtVta.Text = Val(TxtCant.Text) * Val(TxtPrUn.Text)
TxtVNeta.Text = Val(TxtCant.Text) * Val(TxtPrUn.Text) + Val(TxtCant.Text) * Val(TxtPrUn.Text) * 0.18
End Sub
Private Sub TxtCantidad_Change()
TxtCant.Text = TxtCantidad.Text
End Sub
Private Sub TxtNomProd_Change()
TxtProd.Text = TxtNomProd.Text
End Sub
Private Sub TxtPrUnit_Change()
TxtPrUn.Text = TxtPrUnit.Text
End Sub
Ya está listo para probar nuestro formulario. Pero eso requiere que tengamos que ingresar al editor, acceder a MiForm02 y usar F5 para ejecutarlo. Para facilitar su uso, haremos uso de una macro y un botón de comando colocado en una celda de la primera hoja del libro que contiene el formulario. Para ello, estando en el Editor, use
Sub PanelDatos()
MiForm02.Show
End Sub
La sentencia contenida en esta macro permite invocar al formulario llamado MiForm02 y mostrarlo en pantalla, en tiempo de ejecución.
Ahora insertaremos un botón de comando en la hoja1 del Excel.
[Programador o Desarrollador] - Clic en [Insertar] del Grupo [Controles]; clic en el botón [Botón] del grupo de [Controles de formulario]; despliegue en F2 un recuadro; al soltar el botón, haga clic en la macro [PanelDatos]; estando seleccionado el botón, digite “Panel de datos”, que será el Caption que tendrá este botón. Ahora puede usar este botón para usar su fromulario.
Guarde su libro como MisFormularios02.xlsm, habilitado para macros.
Para ver este libro, haga clic aquí
A continuación, se presenta las imágenes desritas anteriormente.
En la siguiente sesión desarrollaremos una aplicación sobre ventas usando el botón de texto.
Para seguir, haga clic aquí