Ayuda para modificar macro 2

Saludos Dam, cree un userform(Reporte_de_Excedentes), donde tengo 1 Listbox, 2 DTPicker y un commandbutton.
La macro que me realizaste para pasar las jugadas excedentes del limite a la hoja(Reporte de excedente) la agregue al commandbutton. Este es el código

rivate Sub valida_datos() 'Por.DAM Application.ScreenUpdating = False
Set h0 = Sheets("Jugados") Set h2 = Sheets("Reporte de Excedente") Set h3 = Sheets("Configuracion de las Jugadas")
'Se copia la hoja a una temporal para ordenar los datos h0.Select h0.Cells.Copy Sheets.Add ActiveSheet.Paste
Set h1 = ActiveSheet
 Columns("A:R").Select Selection.Sort Key1:=Range("N2"), Order1:=xlAscending, _ Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal
 Selection.Sort Key1:=Range("J2"), Order1:=xlAscending, _ Key2:=Range("F2"), Order2:=xlAscending, _ Key3:=Range("G2"), Order3:=xlAscending, _ Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal, _ DataOption3:=xlSortNormal
 i = 2 d1_ant = h1.Cells(i, "J") 'Fecha d2_ant = h1.Cells(i, "F") 'Lotería d3_ant = h1.Cells(i, "G") 'Juego d4_ant = h1.Cells(i, "Q") 'Njugados subtot = 0 j = 2 h2.Cells.ClearContents h2.Range("A1:E1") = Array("Fecha Juego", "Loteria", "Juego", "Njugados", "Excedente") For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row + 1 If d1_ant = h1.Cells(i, "J") And _ d2_ant = h1.Cells(i, "F") And _ d3_ant = h1.Cells(i, "G") And _ d4_ant = h1.Cells(i, "Q") Then subtot = subtot + Val(h1.Cells(i, "A")) Else limite = Application.VLookup(Mid(d3_ant, 3), h3.Range("E1:F5"), 2, 0) If subtot > limite Then h2.Cells(j, "A") = d1_ant h2.Cells(j, "B") = d2_ant h2.Cells(j, "C") = d3_ant h2.Cells(j, "D") = "'" & d4_ant h2.Cells(j, "E") = subtot
 j = j + 1 End If subtot = Val(h1.Cells(i, "A")) End If d1_ant = h1.Cells(i, "J") 'Fecha d2_ant = h1.Cells(i, "F") 'Lotería d3_ant = h1.Cells(i, "G") 'Juego d4_ant = h1.Cells(i, "Q") 'Njugados Next Application.DisplayAlerts = False h1.Delete Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox "Proceso Terminado", vbInformation, "SUBTOTALES" End Sub


Lo que quiero es que solo pase a la hoja de "Reporte de excedentes" las jugadas que cumplan con la lotería que se seleccione en el listbox1 y agregar un listbox que diga "Todas" y si se selecciona este que pasen todas las loterías y luego las demás validaciones que hace.

1 Respuesta

Respuesta
1

Te envié el archivo, si dejas el combo en blanco selecciona "todas"

Cuando intento abrir el userform me sale un ventana que dice "No se puede cargar algunos objetos porque no están disponibles en este equipo" y me borra los DTPicker y aunque los vuelvo a insertar ya no me funcionan el macro???????????

Usa tu mismo archivo y pon la macro que te envié

Saludos Dam, Agregue una un item que se cargar por defecto que dice "Todas las Loterías"

¿que linea debo modificar para que cuando seleccione esta pasen todas las loterías, en ves de cuando se deja en blanco?

Modifica el código así

'Agrega criterios de filtro
    h1.Range("V1") = "Fecha Juego"
    h1.Range("W1") = "Fecha Juego"
    h1.Range("X1") = "Loteria"
    h1.Range("V2") = ">=" & DTPicker1
    h1.Range("W2") = "<=" & DTPicker2
    If ComboBox1 = "Todas las Loterías" Then
        h1.Range("X2") = ""
    Else
        h1.Range("X2") = ComboBox1
    End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas