Inicio > Microsoft Excel > avalenciape > Ayuda con codigo para eliminar registros repetidos

Ayuda con codigo para eliminar registros repetidos

Experto:
Usuario:
Fecha: 02/09/2008
Valoración: (5,00 sobre 5) Categoría: Microsoft Excel
01/09/2008
ricardots, usuario preguntando en Microsoft Excel
Usuario
Hola tengo este codigo que elimina registros repetidos, si los elimina pero como tengo demasiados registros no me los respeta y borra registros demas.

Espero me puedas adyuar.
Este es el codigo.

Sub borrar_menos1()
Dim a() As String, rng As Range, str As String, i As Long, r As Range
Set rng = Range("C6", Range("C65536").End(xlUp))
start:
For Each r In rng
If Application.CountIf(Range("C6:C" & r.Row), r) > 1 Then
i = i + 1
ReDim Preserve a(1 To i)
a(i) = r.Address(0, 0)
If i = 50 Then
str = Join(C, ",")
Range(str).EntireRow.Delete
i = 0
Erase C
GoTo start
End If
End If
Next
str = Join(C, ",")
If str <> "" Then
Range(str).EntireRow.Delete
End If
Erase C
End Sub
Gracias.
01/09/2008
ricardots, usuario preguntando en Microsoft Excel
Usuario
Hola tambien encontre este codigo.
Nada mas que no me lo hace por toda la fila sino solamente una columna y no es la que yo quiero lo hace en la columna A
 
Sub DelDups_OneList()
Dim iListCount As Integer
Dim iCtr As Integer
' Desactivar la actualización de pantalla para acelerar la macro. Application.ScreenUpdating = False
' Obtener un recuento de los registros en los que buscar.
iListCount = Sheets("Indicadores Internas").Range("C6:C1000").Rows.Count
Sheets("Indicadores Internas").Range("A6:AH1000").Select ' Recorrer en bucle hasta el final de los registros.
Do Until ActiveCell = "" ' Recorrer en bucle los registros.
For iCtr = 1 To iListCount ' No comparar contra sí mismo. ' Para especificar una columna diferente, cambie el valor 1 en el número de columna.
If ActiveCell.Row <> Sheets("Indicadores Internas").Cells(iCtr, 1).Row Then ' Comparar el registro siguiente.
If ActiveCell.Value = Sheets("Indicadores Internas").Cells(iCtr, 1).Value Then ' Si la coincidencia es verdad, eliminar la fila.
Sheets("Indicadores Internas").Cells(iCtr, 1).Delete xlShiftUp ' Contador de incrementos para contar la fila eliminada.
iCtr = iCtr + 1
End If
End If
Next iCtr ' Ir al registro siguiente.
ActiveCell.Offset(1, 0).Select
Loop
Application.ScreenUpdating = True
MsgBox "Listo!"
End Sub
Gracias y disculpa
02/09/2008
ricardots, usuario preguntando en Microsoft Excel
Usuario
Muchas gracias, y disculpa tantas molestias que doy, saludos
Enlaces patrocinados