Buscar filas específicas en Excel, para eliminarlas con una macro

Resulta que tengo una lista que se actualiza diariamente, tiene más de mil elementos, en dicha lista debo de buscar ciertos materiales y al encontrarlos debo de eliminar la fila que contenga toda la información de este material; lo cual ya lo logre con https://exceltotal.com/eliminar-filas-que-contengan-cierta-palabra-en-excel/. Además debo de borrar basándome en la columna de fecha, todos aquellos materiales que tengan más de 70 días. Mi pregunta es ¿cómo puedo hacer este procedimiento en una macro?, para que la búsqueda y eliminación se realice de manera automática.

2 Respuestas

Respuesta
1

Para hacer la macro puedes poner un par de imágenes para ver cómo tienes tu información en la hoja, procura que en la imagen se vean las filas y las columna de excel.

Necesito ver en cuál fila tienes tus encabezados, en cuál fila empiezan tus datos, en cuál columna están los materiales, en cuál columna está la fecha.

Y otra imagen donde me muestres los ciertos materiales que deben buscarse.

Gracias!, Puse el vínculo del archivo: https://drive.google.com/file/d/1o54wIjlDEW-fgT3XAYYZ0K1EVuRRKIOO/view?usp=sharing, ya que me surguio otro problema con las columnas de fechas, que por más que las ordeno como día/mes/año, algunas no se cambian, y me da error para otro de los calculos.

Estas son tus condiciones:

  1. De la columna que se llama Reparto debo eliminar: H00 y los K00
  2. En la columna de materiales borrar: Todos los que lleven la palabra KIT, comiencen con BW, y los que terminen en CR.
  3. Para llenar "Días Final", restar a Today, "Fecha Documento. Borrar de "Días Final", todo aquel numero mayor o igual a 70.

Deben cumplirse las 3 condiciones?

O si se cumple alguna de las 3 debe borrarse la fila.


En tu archivo, ya revisé las fechas y no tengo errores, solamente cuando la fecha doc, el resultado es 43251 días, pero se puede solucionar con esta fórmula:

=SI(L2="", 0, N2-L2)

Envía unos ejemplos en tu archivo, de cuáles registros son los que cumplen las condiciones y deben borrarse, rellena los registros de color amarillo para saber cuáles son.

Ya corregi lo de las fechas!, con que cumpla una sola de las condiciones debe ser eliminada por complete la fila; https://drive.google.com/file/d/15XVXPTa5QXxdOWh_DYG8fkTqe5hlZUFb/view?usp=sharing 

Todo lo que esta en Amarillo debe eliminarse.

Te anexo la macro

Sub Eliminar_Registros()
'Por Dante Amor
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    u = Range("I" & Rows.Count).End(xlUp).Row
    For i = u To 2 Step -1
        If Cells(i, "I").Value = "H00" Or _
           Cells(i, "I").Value = "K00" Or _
           InStr(1, UCase(Cells(i, "A").Value), "KIT") > 0 Or _
           UCase(Left(Cells(i, "A").Value, 2)) = "BW" Or _
           UCase(Right(Cells(i, "A").Value, 2)) = "CR" Or _
           Cells(i, "O").Value >= 70 Then
            Rows(i).Delete
        End If
    Next
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    MsgBox "Fin"
End Sub

[Sal u dos

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas