Macro para capturar Timbrados Vencidos en un botón de comando

Quisiera que me ayudes con una macro para capturar datos de una planilla excel, ejemplo tengo un Botón que se llama "Timbrados Vencidos" y lo que quiero que haga este botón es que me capture todos los timbrados vencidos dados de baja y las que no fueron dados de baja, o sea sera un reporte general y que no me aparezca los timbrados activos no vencidos, y que me de la opción de generar en pdf para poder imprimir.

1 Respuesta

Respuesta
1

H o l a :

Para controlar el rango de fechas, puedes probar si te funciona el control DTPicker.

Es complicado manejar las fechas en combos, sobre todo si vas a querer capturar una fecha en específico, te recomiendo que utilices el control Dtpicker.

Te anexo el archivo con los controles dtpicker, prueba si te funcionan, te deben aparecer así:

https://us-mg6.mail.yahoo.com/ya/download?mid=2_0_0_2_5965147_AEuti2IAABCSVgKkqg1hyEF1fqg&m=YaDownload&pid=2&fid=Sent&inline=1&appid=yahoomail

Revisa que puedas agregarlo en VBA:

Entra a tu formulario. En el menú de Herramientas selecciona Controles adicionales.

https://us-mg6.mail.yahoo.com/ya/download?mid=2_0_0_2_5965147_AEuti2IAABCSVgKkqg1hyEF1fqg&m=YaDownload&pid=4&fid=Sent&inline=1&appid=yahoomail

En la venta de controles adicionales busca los que dicen Microsoft Date and Time Picker Control 6.

Marca los 2 y presiona Aceptar.

https://us-mg6.mail.yahoo.com/ya/download?mid=2_0_0_2_5965147_AEuti2IAABCSVgKkqg1hyEF1fqg&m=YaDownload&pid=3&fid=Sent&inline=1&appid=yahoomail

Listo, con eso ya puedes seleccionar la fecha de un calendario o capturar una fecha válida.

S a l u d o s

H o l a:

Te anexo la macro para hacer el filtrado:

Sub filtrar(venc, baja, textual)
'Por.Dante Amor
    Set h1 = Sheets("Detalle_timbrados")
    Set h2 = Sheets("DISEÑO DE INFORME")
    Set h3 = Sheets("temp")
    '
    If ComboBox1.ListIndex = -1 Then
        MsgBox "Selecciona el Periodo", vbCritical, "ERROR"
        ComboBox1.SetFocus
        Exit Sub
    End If
    '
    Select Case ComboBox1.ListIndex
        Case 0
            If ComboBox2 = "" Or Not IsDate(ComboBox2) Then
                MsgBox "Selecciona la fecha desde", vbCritical, "ERROR"
                ComboBox2.SetFocus
                Exit Sub
            End If
            If ComboBox3 = "" Or Not IsDate(ComboBox3) Then
                MsgBox "Selecciona la fecha hasta", vbCritical, "ERROR"
                ComboBox3.SetFocus
                Exit Sub
            End If
            h3.[AO3] = CDate(ComboBox2)
            h3.[AP3] = CDate(ComboBox3)
        Case 1
            h3.[AO3] = CDate(ComboBox2.List(0))
            h3.[AP3] = Date
        Case 2
            udia = Day(DateSerial(Year(Date), Month(Date), 1) - 1)
            h3.[AO3] = DateValue("01/" & Format(Month(Date) - 1, "00") & "/" & Format(Date, "yyyy"))
            h3.[AP3] = DateValue(udia & "/" & Format(Month(Date) - 1, "00") & "/" & Format(Date, "yyyy"))
    End Select
    '
    h3.[AQ2] = "=""=" & venc & """"
    If textual Then
        h3.[AR2] = "=""=" & baja & """"
    Else
        h3.[AR2] = baja
    End If
    '
    Application.ScreenUpdating = False
    h2.UsedRange.Offset(5, 0).Clear
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    h1.Range("A3:L" & u).AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=h3.Range("AO1:AR2"), CopyToRange:=h2.Range("A5:L5"), Unique:=False
    Application.ScreenUpdating = True
End Sub

s a l u d o s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas