martes, abril 06, 2010

Quitar duplicados en Excel

Si bien se puede realizar dicha tarea de diferentes formas, como utilizar una consulta SQL desde el DATA Query, podría suceder que no lo tengamos instalado o mucho peor que ni siquiera tengamos acceso a instalarlo, también existen soluciones comerciales que pueden realizar dicha tarea (de manera mas efectiva), el siguiente macro agiliza un poco esta faena solo tienes que tener tus datos ordenados alfabéticamente posicionar el cursor en la primera celda de los datos y correr dicho el macro.


Sub duplicados()
Dim i As Integer
i = 0

ActiveCell.Activate

Do While ActiveCell.Offset(i, 0) <> ""

' si el dato actual es diferente al siguiente entonces
' escribelo en la celda de la derecha

If (ActiveCell.Offset(i, 0) <> ActiveCell.Offset(i + 1, 0)) Then

ActiveCell.Offset(i, 1) = ActiveCell.Offset(i, 0).Value

End If

i = i + 1

'Para librar el error donde un entero solo
'puede contener un numero entre -32767 y 32767
'y la cantidad de datos es mucho mayor a esa cifra

If i = 32000 Then i = 0
activecell.offset(i,0).activate
Loop

End Sub