Macro para filtrar información por fecha.

Me podrán ayudar a crear de favor, una macro para un documento que se descarga de una pagina de mi empresa. Este documento se descarga en Excel y contiene nombres de planos, fecha, quien lo modifico y la ruta de donde se obtuvo.

Quisiera poder colocar varios botones o poder correr una macro, que me muestre:

- Lo ultimo que se modifico ese mismo día.

- Lo ultimo que se modifico en los últimos 3 días.

- Lo ultimo que se modifico en la semana

- Lo ultimo que se modifico en el mes en curso.

Esto puede tomarse con la fecha que fue modificado, no necesariamente tienen que ser botones, pero de alguna manera poder elegir, cualquiera de las 4 opciones.

El archivo contiene en la columna A, el nombre de los documentos y en la columna C la fecha en que fue cargado a la pagina el documento.

Al momento de correr esta macro, únicamente debe mostrar la información antes mencionada, dependiendo de la elección que el usuario haga, pero también se pueda revertir el proceso para regresar al archivo completo.

Espero me puedan ayudar y cualquier duda, estoy a sus humildes ordenes.

1 Respuesta

Respuesta
1

Borraste la pregunta para eliminar duplicados. Terminé la macro y cuando regresé a poner la respuesta ya no existía la respuesta.

Te anexo aquí la macro, para eliminar los duplicados, cuando en la misma celda tienes el nombre_del_archivo espacio revisión.pdf

Sub EliminarFilas()
'Por.Dante Amor
    Application.ScreenUpdating = False
    u = Range("A" & Rows.Count).End(xlUp).Row
    With ActiveSheet.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("A1:A" & u), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SetRange Range("A2:B" & u): .Header = xlYes: .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    For i = 3 To Range("A" & Rows.Count).End(xlUp).Row
        datos = Split(Cells(i, "A").Value, " ")
        Cells(i, "B").Value = datos(0)
    Next
    '
    With Range("C3:C" & u)
        .FormulaR1C1 = "=IF(COUNTIF(RC[-1]:R" & u & "C2,RC[-1])>1,1,0)"
        .Value = .Value
    End With
    For i = u To 3 Step -1
        If Cells(i, "C").Value = 1 Then
            Rows(i).Delete
        End If
    Next
    Columns("B:C").ClearContents
    Application.ScreenUpdating = True
    MsgBox "fin"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas