Está en la página 1de 5

Formulario en VBA aplicado a Registro

de Venta de Entradas para el Cine


Los formularios en VBA nos permiten colocar controles que nos ayudarn a solicitar
informacin de forma ordenada. Podremos colocar cajas de texto, etiquetas, cuadros
combinados, botones de comando, etc. De esta manera la recoleccin de informacin se
hace ms accesible y se reducen las tareas repetitivas.

En esta ocasin se ha querido simplificar el registro de Ventas de Entradas en el Cine.


De esta manera creando un formulario determinado podemos acceder a una base de
datos creada por nosotros mismos mientras ingresamos entradas.

Los formularios de Excel son creados desde el Editor de Visual Basic donde debemos
seleccionar la opcin de men Insertar y posteriormente la opcin UserForm. Tambin
se puede insertar un userform haciendo click derecho en ThisWorkbook , insertar y
userform.

Luego se disea un formulario que pueda permitir el ingreso de todos los datos
necesarios para el registro. En este caso, se hicieron 2 formularios: Uno de bienvenida al
usuario el cual qued qued as, con la ayuda del cuadro de herramientas :

Insertamos con el cuadro de herramientas, una imagen, una etiqueta y un botn de


comando.

Colocamos este cdigo en ThisWorkBook:


Private Sub Workbook_Open()
UserForm2.Show
End Sub
De esta manera, cada vez que se acceda al documento que estamos haciendo, nos
aparezca este formulario como aviso de bienvenida.

Dentro del botn Empezar, escribimos el siguiente cdigo:


Private Sub CommandButton1_Click()
Unload UserForm2
End Sub

Ya que al hacer click en Empezar, el cuadro desaparecer, y dar paso a la hoja de excel
donde est este nuevo Botn de comando el cual nos lleva al formulario de Ventas. Este
formulario de venta ha sido diseado de la siguiente manera:

Se pueden agregar ms o poner menos datos. Cada quien puede personalizar su


userform como ms le parezca.

Se agreg un cuadro combinado que nos permite desplegar un lista de posibilidades, en


este caso pelculas. Es necesario este cdigo:

Private Sub UserForm_Activate()


Ult = Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To Ult
ComboBox1.AddItem (Cells(x, 1))
Next

End Sub

Esta forma abreviada permite que todos los elementos que estan en la hoja 1 (pelculas)
se posicionen como opciones en el Cuadro combinado, y si en caso necesitemos agregar
ms o quitar alguno, el cambio se realiza tambin en la macro cuando se modifique el
objeto en las celdas correspondientes.

En el botn Generar Monto obtendr el monto a pagar por el cliente. Esta cantidad de
obtiene al multiplicar el precio de la entrada (12 soles) por la cantidad de entradas que
esta comprando el cliente. Para lo cual se inserta el siguiente cdigo:
Private Sub CommandButton2_Click()
TextBox5.Value = TextBox4.Value * 12

El botn registrar venta carga con el siguiente cdigo:

Private Sub CommandButton1_Click()


Sheets(Hoja2).Select
Ult = Cells(Rows.Count, 1).End(xlUp).Row
Cells(Ult + 1, 1) = TextBox1.Text
Cells(Ult + 1, 2) = TextBox2.Text
Cells(Ult + 1, 3) = TextBox3.Text
Cells(Ult + 1, 4) = ComboBox1.Text
Cells(Ult + 1, 6) = TextBox4.Text
Cells(Ult + 1, 7) = TextBox5.Text

If OptionButton1.Value = True Then


Cells(Ult + 1, 5) = OptionButton1.Caption
End If
If OptionButton2.Value = True Then
Cells(Ult + 1, 5) = OptionButton2.Caption
End If
If OptionButton3.Value = True Then
Cells(Ult + 1, 5) = OptionButton3.Caption

End If
If OptionButton4.Value = True Then
Cells(Ult + 1, 8) = OptionButton4.Caption
End If
If OptionButton5.Value = True Then
Cells(Ult + 1, 8) = OptionButton5.Caption
End If

TextBox1.Text =
TextBox2.Text =
TextBox3.Text =
TextBox4.Text =
TextBox5.Text =
ComboBox1.Text =
OptionButton1.Value = False
OptionButton2.Value = False
OptionButton3.Value = False
OptionButton4.Value = False
OptionButton5.Value = False

End Sub

Basicamente lo que estamos logrando con este cdigo es que en la hoja 2 de nuestro
documento se vayan registrando los datos de cada venta de entradas al cine que se
hagan desde el formulario. (en orden y sin tener que ingresarlas una por una en las
celdas).

Recordemos que necesitamos que cada vez que se haga un ingreso, los datos se quedan
an en las casillas de texto, por tanto es necesario que se eliminen para que den paso a
un formulario listo para ingresar una nueva venta. Es por eso que en el cdigo habamos
agregado:

TextBox1.Text =
TextBox2.Text =
TextBox3.Text =
TextBox4.Text =
TextBox5.Text =
ComboBox1.Text =

OptionButton1.Value = False
OptionButton2.Value = False
OptionButton3.Value = False
OptionButton4.Value = False
OptionButton5.Value = False

Ya que se encargarn de limpiar el formulario luego del ingreso de datos de una venta.

Finalmente agregamos un botn de comando en la primera hoja del libro de excel ya


que nos permitir acceder al formulario cuando hagamos click en el.
El objetivo de este userform, como se habr podido notar, es hacer ms llevadera la
tarea de Registrar Ventas.

Aqu adjunto el ejercicio en excel de manera que pueda ser revisado y entendido de
mejor manera.