Macro mas rapido

20/10/2009 - 22:58 por Manny_90 | Informe spam
Que tal.

Tengo una macro para eliminar filas dependiendo del valor de una celda,
pero, lo que pasa es de que son mas de 15000 lineas y la macro se tarda mas
de 5 min...

For i = Range("a65536").End(xlUp).Row To 3 Step -1
If Range("O" & i).Value = "Completed" Or _
Range("O" & i).Value = "Canceled" Or _
Range("O" & i).Value = "Released" _
Then
Range("O" & i).EntireRow.Delete

End If
Next

Espero y me puedan ayudar a modificar la macro para que sea mas rapido ...

mil graciias
 

Leer las respuestas

#1 Cacho
22/10/2009 - 00:48 | Informe spam
Hola! Manny. Intenta con:


Dim rng As Range
Range("ad2, ae1") = "A": [ae2] = 1
Set rng = Range("a3", [a65536].End(xlUp))

With [ad3].Resize( rng.Rows.Count)
.Formula = "=IF( OR( O3=""Completed"", O3=""Canceled"", O3=""Released""), 1,
0)"
.Formula = .Value
End With
Range("ad2", [ad2].End(xlDown )).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=[ae1:ae2], Unique:=False

rng.EntireRow.Delete
ActiveSheet.ShowAllData
[ad:ae].Delete Shift:=xlToLeft
Set rng = Nothing


Saludos, Cacho.

Preguntas similares