Al momento de acercar a comprar una entrada para una película, uno debe tener dos parámetros inicialmente definidos unos es la la película que desea ver y el otro la hora a la que desea verla. Luego a uno se le pregunta la cantidad de personas que van a ingresar y si estas son adultos y/o niños. Por último uno es informado acerca del monto total del costo de las entradas y luego de realizar el pago, se le entrega su boleta.
Téngase una Data de película y horarios como se muestra en la siguiente tabla
(Para mayor visualización de la imagen, hacer click en la misma)
El siguiente Formulario cuenta con las siguientes entradas así como se muestra en la imagen inferior
(Para mayor visualización de la imagen, hacer click en la misma)
Película
Horario
Cantidad de adultos y niños
Si el usuario posee alguna tarjeta de socio
Los Botones:
Calcular: Calcular el monto a pagar
Imprimir: Imprimir la boleta
Siguiente: Resetear el Formulario y Boleta
Cancelar: Abortar el Formulario
Además del botón "Generar Boleta" el cual está encarga de Iniciar la tarea
en vba:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Para definir los valores del espacio Película
De la hoja "Horarios" se toman todos los espacios que tengas información de una película
Private Sub UserForm_Activate()
Sheets("Horarios").Select
pdis = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To pdis
ComboBox1.AddItem (Cells(i, 1).Text)
Next
End Sub
Luego el Botón OK P, que indica que la película ha sido seleccionada
Se generan los datos de los horarios en VBA:
Private Sub CommandButton4_Click()
Sheets("Horarios").Select
Pelicula = ComboBox1.Text
For i = 2 To pdis
If Pelicula = Cells(i, 1) Then
Sala = i - 1
hcont = Cells(i, Columns.Count).End(xlToLeft).Column
For j = 2 To hcont
ComboBox2.AddItem (Cells(i, j))
Next
End If
Next
End Sub
Luego los espacios Adultos y Niños serán llenados para calcular el precio, en caso de q no hayan sido llenados correctamente se presentara el siguiente mensaje
en caso de haber sido llenados correctamente se presiona se calcula el monto para tanto el caso de que cuente con una tarjeta de socio como no.
en VBA:
Private Sub CommandButton1_Click()
If TextBox1.Value <> "" Or TextBox2.Value <> "" Then
If CheckBox1 = True Then
Ad = TextBox1.Value
Ni = TextBox2.Value
total = (12 * Ad) + (8 * Ni)
MsgBox ("Su total es " & total)
Else
Ad = TextBox1.Value
Ni = TextBox2.Value
total = (17 * Ad) + (10 * Ni)
MsgBox ("Su total es " & total & " soles")
End If
Else
MsgBox ("Por favor Ingresar un valor")
End If
End Sub
y se mostrará el siguiente mensaje
Luego de tener la conformidad del cliente se presiona el botón imprimir y se imprimirán los valores en la siguiente hoja
en VBA:
Private Sub CommandButton2_Click()
Sheets("Boleta").Select
Cells(3, 2) = Pelicula
Cells(5, 2) = Sala
Cells(7, 2) = TextBox1.Value
Cells(8, 2) = TextBox1.Value
Cells(10, 2) = total
End Sub
Para pasar al siguiente cliente se presiona el Botón siguiente y se reiniciaran los valores.
en vba:
Private Sub CommandButton3_Click()
TextBox1.Value = ""
TextBox2.Value = ""
Sheets("Boleta").Select
Cells(3, 2) = ""
Cells(5, 2) = ""
Cells(7, 2) = ""
Cells(8, 2) = ""
Cells(10, 2) = ""
End Sub
Por último si de desea abortar la misión se presiona el botón cancelar:
Private Sub CommandButton5_Click()
UserForm1.Hide
End Sub
Formulario de Excel Avanzado para boleta de entrada al cine
Elaborado por: Luis Loayza