Como eliminar una fila con una sentencia IF

hola estoy desarrollando una macro donde utilizo un if como sentencia para eliminar la fila de la siguiente manera:

Range("H2:H" & Cells(65535, 1).End(xlUp).Row).Select
For Each celda_dias In Selection
If celda_dias.Value < 2 Then
celda_dias.EntireRow.Delete
End If
Next celda_dias

pero no me marca error alguno y no me elimina las filas que deseo que me elimine

espero me puedan ayudar

1 respuesta

Respuesta
1

Si borras las filas con un contador de menos a más, al borrar una fila las posteriores se desplazan y dejará sin borrar algunos casos.

La solución borrar desde el final hacia el principio (descendente). Sería algo así:

Sub borrarFilas()
Dim i As Integer
For i = Cells.SpecialCells(xlCellTypeLastCell).Row To 2 Step -1
If Cells(i, 8).Value < 2 Then Rows(i).Delete
Next i
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas