Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Eliminar filas con valores duplicados

222 views
Skip to first unread message

Rodolfo Federico Soto

unread,
Aug 14, 2013, 7:49:02 PM8/14/13
to
Amigos necesito una macro que me elimine de una columna los valores duplicados , dado que son muchos datos es poco útil hacerlo mediante filtros, baje un demo que me permite hacerlo, pero es un programa en donde no puedo ver la macro, agradeceré si alguien tiene algo que para eliminar de una columna las filas que tengan valores duplicados.
Saludos
Rodolfo

Juan Español

unread,
Aug 15, 2013, 3:30:35 AM8/15/13
to
Hola Rodolfo:
No nos dices que versión de Excel utilizas, la 2010 ya trae un comando que
te permite hacer eso directamente.
Pero bueno, contestando a tu pregunta...
Via ejemplo, esta macro elimina las filas, que en la columna E (columna 5),
tengan valores duplicados.
Ten en cuenta que deja la PRIMERA fila que tenga el valor y borra las filas
posteriores que contengan el mismo valor en la columna E.


Sub Elimi_Dupli()
Dim fila As Long
With Application
For fila = Cells(Rows.Count, 5).End(xlUp).Row To 1 Step -1
If .WorksheetFunction.CountIf(Range("E:E"), _
Cells(fila, 5)) > 1 Then Cells(fila, 5).EntireRow.Delete
Next fila
End With
End Sub


Para adaparla a tus necesidades tienes que cambiar E:E y el 5 las dos veces
que aparece.

Saludos.-



"Rodolfo Federico Soto" <rodolfo...@gmail.com> escribió en el mensaje de
noticias news:7927b0d6-cce0-4806...@googlegroups.com...

Rodolfo Federico Soto

unread,
Aug 15, 2013, 9:04:15 AM8/15/13
to
Juan muchas gracias por la macro con esto la pude adaptar para que en la columna A me elimine los duplicados me borre las celdas vacías y me las ordene alfabéticamente, se los paso asi lo puede utilizar otro colega, Muchas gracias Juan.
Saludos Rodolfo



Sub BORRARDUPLICADOS()
Dim fila As Long
Dim fila0 As Long
With Application
For fila = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If .WorksheetFunction.CountIf(Range("A:A"), _
Cells(fila, 1)) > 1 Then Cells(fila, 1).EntireRow.Delete
Next fila
End With

Columns("A:A").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$A$1061").AutoFilter Field:=1, Criteria1:="="
Rows("36:400").Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter

ActiveWorkbook.Worksheets("Hoja2").Sort.SortFields.Add Key:=Range("A2:A1061") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Hoja2").Sort
.SetRange Range("A1:A1061")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With




End Sub


Juan Español

unread,
Aug 17, 2013, 2:56:59 AM8/17/13
to
Gracias por el feedback.
Este debe ser, seg�n mi criterio, el funcionamiento de un grupo.
Pensar en que una respuesta individual puede servir a m�s lectores presentes
y FUTUROS, adem�s del "consultante" que abre el hilo.
Y el hecho de responder si vali� la respuesta o no, aparte de ser lo
educado, hace que los dem�s lectores del grupo valoren adecuadamente la
consulta/respuesta.
Y ya como en tu caso, publicar la soluci�n definitiva, para que pueda ser
aprovechada por TODOS, pues eso, cierra el c�rculo de GENEROSIDAD.
COMPARTIR, esa la sangre de un grupo de este tipo.
Si lo que hacemos es preguntar, sin TRABAJAR la pregunta, y luego cuando nos
responden, satisfactoriamente o no, nos callamos, el recorrido de la sangre
es incompleto.
La sangre debe salir del CORAZ�N y volver al coraz�n.

Saludos.-

"Rodolfo Federico Soto" <rodolfo...@gmail.com> escribi� en el mensaje de
noticias news:635cf96b-a30f-4335...@googlegroups.com...
Juan muchas gracias por la macro con esto la pude adaptar para que en la
columna A me elimine los duplicados me borre las celdas vac�as y me las
ordene alfab�ticamente, se los paso asi lo puede utilizar otro colega,
0 new messages