Validar un listbox, combobox y textbox con datos de hoja de excel

Tengo tengo 2 combox y 3 textbox que van llenando un listbox y este a su vez para a una hoja de excel. Lo que quiero es que filtre de acuerdo a la fecha y luego de acuerdo a otro dato y por últimos al monto facturado, y si el monto factura pasa un tope que no me permita registrar los datos en la hoja de excel.

1 Respuesta

Respuesta
1

Para validar el monto pon dentro del CommandButton1_Click, lo siguiente:

(ponlo después de la línea "If MsgBox("Se Procederá a Guardar la Jugada?", vbQuestion + vbYesNo) = vbNo Then Exit Sub")

'Valida el monto
For i = 0 To ListBox1.ListCount - 1
totfac = totfac + ListBox1.List(i, 2)
Next
If totfac > 100 Then
MsgBox "La factura excede 100", vbCritical, "Error"
Exit Sub
End If

Puedes poner un ejemplo de cómo quieres que se haga el filtro y en qué momento quieres que se realice.

Saludos. Dam

Este código me restringe aun cuando el facturado (que es el de la columna 3 del listbox) es menos de 100 y solo esta ferificando en el listbox.

Lo que quiero es que cuando le de al botón "Agregar" que tienen mi userform busque este articulo en excel (donde se van registrando) y que si el dia de hoy ya se a facturado vamos a decir 75 y en el listbox hay 10 y van agregar 35 hay no me deje pasar porque seria. 120.

¿Pero cuál es el artículo a buscar y en qué columna se va a buscar? ¿Y si lo encuentro qué columna sumo?

Saludos. Dam

Es algo bien complejo y no se si me explicare bien pero hay va:

Tengo 2 combox y 3 textbox que al dar a un botón llena un listbox de 5 columnas luego tengo otro botón para que los datos acumulados en el listbox pasen a una hoja de excel los cuales se van guardando como una base de datos. (monto, numero, etc...)

Lo que quiero es que al momento de darle al primer botón para agregar datos al listbox haga las siguiente evaluaciones.

(aclaración) En el primer combobox1 hay 3 posibles opciones.

(aclaración) En el primer combobox2 hay 2 posibles opciones.

1- que evalúe los datos los datos de las facturados del dia de hoy y que si, en el dia de hoy hay coincidencia con el combobox1 y combobox2 para saber cuanto hay facturado para que pueda evaluar y va a exceder mas de (100 por ejemplo) la factura del dia.

Te envíe el archivo a tu correo. Saludos Dam de parte de Emmanuel Gonzalez

Te envié el archivo con la evaluación.

Saludos. Dam

Si es lo que necesitas.

El archivo que enviaste no evalúa bien los ya que me permite agregar archivos al listbox aun cuando aparecen coincidencia por valor de mas de 100.

Le envíe el archivo de nuevo para que evalúe.

Gracias y disculpe las molestias

El archivo que te envié, si evalúa bien

Tu cambiaste estas líneas

If ComboBox1 = "Loteria Nacional 01:30 PM" Then .ListBox1.List(ListBox1.ListCount - 1, 3) = "Loteria Nacional 01:30 PM"
If ComboBox1 = "Loteria Nacional 09:00 PM" Then .ListBox1.List(ListBox1.ListCount - 1, 3) = "Loteria Nacional 09:00 PM"
If ComboBox1 = "Leidsa Quiniela Pale 08:55 PM" Then .ListBox1.List(ListBox1.ListCount - 1, 3) = "Leidsa Quiniela Pale 08:55 PM"
'ListBox1.List(ListBox1.ListCount - 1, 3) = ComboBox1.Value '(este espara pasarel listbox igual)
If ComboBox2 = "Quiniela" Then .ListBox1.List(ListBox1.ListCount - 1, 4) = "Quiniela"
If ComboBox2 = "Pale" Then .ListBox1.List(ListBox1.ListCount - 1, 4) = "Pale"

antes tenías así

If ComboBox1 = "1-Loteria Nacional 01:30 PM" Then .ListBox1.List(ListBox1.ListCount - 1, 3) = "Loteria Nacional 01:30 PM"
If ComboBox1 = "2-Loteria Nacional 09:00 PM" Then .ListBox1.List(ListBox1.ListCount - 1, 3) = "Loteria Nacional 09:00 PM"
If ComboBox1 = "3-Leidsa Quiniela Pale 08:55 PM" Then .ListBox1.List(ListBox1.ListCount - 1, 3) = "Leidsa Quiniela Pale 08:55 PM"
'ListBox1.List(ListBox1.ListCount - 1, 3) = ComboBox1.Value '(este espara pasarel listbox igual)
If ComboBox2 = "1-Quiniela" Then .ListBox1.List(ListBox1.ListCount - 1, 4) = "Quin."
If ComboBox2 = "2-Pale" Then .ListBox1.List(ListBox1.ListCount - 1, 4) = "Pale"

Tenías 1-, 2- , 3- en los combos, al momento de que lo quitaste, el valor del combo ya cambia.

Prueba el archivo que te envié, si quieres que corrija esta parte, tendrás que finalizar esta pregunta, ya que mi respuesta es correcta.

Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas