¿Cómo identificar un Rango de celdas y eliminar todas sus filas en Excel?

Quisiera puedan colaborarme con una macro que identifique un rango de celdas según una condición y luego elimine de manera masiva y rápida todas las filas que lo componen

En el siguiente ejemplo deseo identificar el rango cuyos valores en celdas de columna DE sea igual a "JOSE"

 

.... Y eliminarlo completamente de manera que quede como la siguiente imagen:

1 Respuesta

Respuesta
2

Te invito a SUSCRIBIRTE a mi canal de YouTube:

Excel y Macros

https://www.youtube.com/channel/UCs644-v3ti4SF7zE_bt_YXA 


Prueba la siguiente, comenta si es rápida:

Sub Elimina_Filas()
  Dim lr As Long, i As Long, a, r As Range
  Application.ScreenUpdating = False
  lr = Range("D" & Rows.Count).End(xlUp).Row
  Set r = Range("D" & lr + 1)
  a = Range("D1:D" & lr)
  For i = 1 To UBound(a)
    If LCase(a(i, 1)) = LCase("JOSE") Then Set r = Union(r, Range("D" & i))
  Next i
  If Not r Is Nothing Then r.EntireRow.Delete
  Application.ScreenUpdating = True
End Sub

Dante, gracias por responder

Cometí un error al subir el ejemplo pues en mi hoja real los datos comienzan en la fila 3 y al tratar de replicar tu código en el mio, se me mezclan algunas cosas y no estoy pudiendo lograr que funcione. Por favor podrías comentarme que cambiaría en tu código si el ejemplo es el siguiente:

y al eliminarse las filas con la condicion "JOSE" debe quedar asi:

Por favor discúlpame!

No te preocupes.

Cambia esta línea:

For i = 1 To UBound(a)

Por esta:

For i = 3 To UBound(a)

¡Gracias! Dante

Tu código funciona perfecto pero aun no le encuentro la vuelta en el mio

Volveré a hacer la consulta y cierro esta

Excelente!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas