miércoles, 3 de diciembre de 2008

Elementos repetidos

En lecciones anteriores hemos visto cómo movernos por una lista y cómo eliminar algunos de ellos según nos conviniera.

Ahora vamos a ver cómo podríamos utilizar estas dos cosas vistas en lecciones anteriores para poder eliminar elementos repetidos de una lista.

Eliminar elementos repetidos en una lista: vamos a realizar una macro la cual nos vayamos desplazando por una lista, hasta encontrar un elemento vacío e ir comprobando si un elemento es igual al anterior, si esto es así lo eliminaremos y "subiremos" un lugar la lista para que así no existan lugares vacíos en la lista

El único requisito que hay que cumplir para realizar esta macro es que la lista debe estar completamente ordenada.

Sub EliminarRepetidos()

contador = 0

valor = ActiveCell.Value

ActiveCell.Offset(1, 0).Range("A1").Select

While ActiveCell.Value <> ""

If ActiveCell.Value = valor Then

Selection.Delete Shift:=xlUp

contador = contador + 1

Else

valor = ActiveCell.Value

ActiveCell.Offset(1, 0).Range("A1").Select

End If

Wend

Respuesta = MsgBox("Se han encontrado " & contador & " elementos repetidos", 1, "Número de repetidos")

End Sub

En esta macro estamos utilizando una variable llamada contador la cual nos servirá para contabilizar el número de elementos repetidos que encontramos en la lista. Este valor lo mostramos al finalizar la macro.

No hay comentarios: