27/03/2010, 08:52
|
| | | Fecha de Ingreso: marzo-2007 Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 7 meses Puntos: 88 | |
VBA excel eliminar rango de filas duplicadas Suponiendo que lo que quieres es optimizar ese código, te sugiero que en lugar de utilizar un procedimiento tan lento como lo es buscar a lo largo de la columna A los datos duplicados, apliques un Filtro Avanzado (sin duplicados).
Por ejemplo algo así:
Código:
Sub Macro308()
Dim Rng As Range
Set Rng = [a1].CurrentRegion
[a1].Offset(, 1 + Rng.Columns.Count) = "MiCrit"
[a1].Offset(1, 1 + Rng.Columns.Count).Formula = "= COUNTIF(" & _
[a1].Address & ":" & _
[a2].Address(False, False) & ", " & _
[a2].Address(False, False) & ") = 1"
Rng.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=[a1].Offset(, 1 + Rng.Columns.Count).Resize(2, 1), _
CopyToRange:=[ea1].Resize(1, Rng.Columns.Count), Unique:=True
[a1].Offset(, 1 + Rng.Columns.Count).Resize(2, 1).ClearContents
With [ea1].CurrentRegion.EntireColumn
.Copy [a1]
.Delete
End With
Set Rng = Nothing
End Sub
Estoy suponiendo:
a) Que tu base de datos se inicia en la celda [A1];
b) Que ocupa hasta la columna I;
c) Que la columna J está totalmente vacía
Espero tus comentarios, ¿ok?
Saludos, Cacho. |