Supprimer des Lignes Avec des Doublons de Données VBA

Je suis aux prises avec quelque chose qui devrait être assez simple, cependant, j'ai lu au moins 15 méthodes de le faire et n'arrive pas à le faire fonctionner.

Voici un échantillon de données:

9:30:01 584.7
9:30:01 590
9:30:01 595
9:30:02 584.51
9:30:03 584.62
9:30:04 584.44
9:30:05 584.05

Je veux seulement une ligne par seconde, de sorte que les 3 premières lignes, un seul doit rester. Je ne m'inquiète pas si c'est le premier ou le dernier, mais le code que j'ai été en utilisant conserve le dernier, 595 dans ce cas.

La façon dont je le fais c'est avec une boucle for qui efface le contenu de la ligne qui a le même temps que la ligne en dessous. J'ai ensuite trier l'ensemble de la gamme.

J'imagine que c'est un moyen plus simple de tout simplement supprimer la ligne supplémentaire de l'aller. Cependant, lorsque j'utilise supprimer sur la plage, au lieu de clair, il ne supprimera pas toutes les lignes en double.

Voici ce que je veux que les données à ressembler à:

9:30:01 595
9:30:02 584.51
9:30:03 584.62
9:30:04 584.44
9:30:05 584.05

J'ai besoin que cela se produise pour l'ensemble de la feuille. Le temps est la Colonne B et les valeurs de la colonne C.

Ici c'est le code que j'utilise,

LastRow = ActiveSheet.UsedRange.row - 1 + _
    ActiveSheet.UsedRange.Rows.Count

For RowNum = 2 To LastRow
    If (Range("B" & RowNum) = Range("B" & RowNum + 1)) Then
    Range("B" & RowNum).EntireRow.Clear
    End If
Next RowNum

Range("A2:C" & LastRow).Sort key1:=Range("B2:B" & LastRow), _
order1:=xlAscending, Header:=xlNo
  • Si vous boucle de bas en haut, alors vous pouvez supprimer la ligne instantanément. Partagez votre code et je vais vous aider avec ça.
  • présente une excellente solution -- vous pourrait également utiliser la Plage.RemoveDuplicates méthode pour cela (surtout depuis que votre structure de colonne est donc bien définie)... Voici une référence MSDN: msdn.microsoft.com/en-us/library/office/...
  • Coureur que j'ai ajouté le code. Votre idée semble très intelligent.
InformationsquelleAutor mks212 | 2014-05-23