Eliminar filas que están duplicadas
Hola Prozac
Encontré en el foro una macro (cuyo experto no se halla disponible en estos momentos) que me permite colorear las valores duplicados de una columna. Me gustaría modificar esa misma macro para en vez de colorear duplicados de columna me permitiera eliminar filas duplicadas (no duplicados de columna sino filas enteras duplicadas).
Mis datos se hallan en hoja1 y el rango de la hoja es A1:F920
Las filas rellenas las forman datos de 6 columnas de columna A a F.
La macro a modificar es ésta:
Sub coloreaDup()
'controla col A
Range("A2").Select
ultima = Range("A65536").End(xlUp).Row
'recorro hasta la fila última
While ActiveCell.Row <= ultima
'guardo fila para volver del bucle
filax = ActiveCell.Row
'controlo si aún no tiene color
If ActiveCell.Interior.ColorIndex = xlNone Then
dato = ActiveCell.Value
Do
ActiveCell.Offset(1, 0).Select
If ActiveCell = dato Then
ActiveCell.Interior.ColorIndex = 4
'opcional: colorear también el dato original
Cells(filax, 1).Interior.ColorIndex = 4
End If
Loop While ActiveCell.Row <= ultima And ActiveCell.Row <> filax
End If
'paso a la fila sgte y repito el bucle
Cells(filax + 1, 1).Select
Wend
End Sub
Gracias por la ayuda
Encontré en el foro una macro (cuyo experto no se halla disponible en estos momentos) que me permite colorear las valores duplicados de una columna. Me gustaría modificar esa misma macro para en vez de colorear duplicados de columna me permitiera eliminar filas duplicadas (no duplicados de columna sino filas enteras duplicadas).
Mis datos se hallan en hoja1 y el rango de la hoja es A1:F920
Las filas rellenas las forman datos de 6 columnas de columna A a F.
La macro a modificar es ésta:
Sub coloreaDup()
'controla col A
Range("A2").Select
ultima = Range("A65536").End(xlUp).Row
'recorro hasta la fila última
While ActiveCell.Row <= ultima
'guardo fila para volver del bucle
filax = ActiveCell.Row
'controlo si aún no tiene color
If ActiveCell.Interior.ColorIndex = xlNone Then
dato = ActiveCell.Value
Do
ActiveCell.Offset(1, 0).Select
If ActiveCell = dato Then
ActiveCell.Interior.ColorIndex = 4
'opcional: colorear también el dato original
Cells(filax, 1).Interior.ColorIndex = 4
End If
Loop While ActiveCell.Row <= ultima And ActiveCell.Row <> filax
End If
'paso a la fila sgte y repito el bucle
Cells(filax + 1, 1).Select
Wend
End Sub
Gracias por la ayuda
1 respuesta
Respuesta de prozac
1