La feuille de calcul est triée en fonction de la colonne A (numéro de compte) d'abord, puis de la colonne C (date).Script VBA Excel pour supprimer le plus récent des enregistrements en double
J'ai ci-dessous le script qui supprime les enregistrements en double et reste le plus récent.
Sub DeleteTheOldies()
Dim RowNdx As Long
For RowNdx = Range("a1").End(xlDown).Row To 2 Step -1
Do While Cells(RowNdx, "a").Value = Cells(RowNdx - 1, "a").Value
If Cells(RowNdx, "c").Value <= Cells(RowNdx - 1, "c").Value Then
Rows(RowNdx).Delete
Else
Rows(RowNdx - 1).Delete
End If
RowNdx = RowNdx - 1
If RowNdx = 1 Then Exit Sub
Loop
Next RowNdx
End Sub
données de l'échantillon:
Column A Column B Column C 751063031 1605621498 03-JUL-10 751063031 5600003138 18-JUL-10 751063031 5600084443 17-AUG-10 754199715 1605621498 27-FEB-10 754199715 5600084438 17-AUG-10 757129104 5600084892 12-NOV-09 757129104 5600084438 17-AUG-10 757307416 1605621498 27-FEB-10 757307416 5600084438 17-AUG-10
sortie du script courant:
751063031 5600084443 17-AUG-10 754199715 5600084438 17-AUG-10 757129104 5600084438 17-AUG-10 757307416 5600084438 17-AUG-10
je besoin d'une version modifiée du script pour donner la sortie ci-dessous (supprimer les plus récentes et demeurent les repos)
751063031 1605621498 03-JUL-10 751063031 5600003138 18-JUL-10 754199715 1605621498 27-FEB-10 757129104 5600084892 12-NOV-09 757307416 1605621498 27-FEB-10
Votre résultat final est probablement plus facile à obtenir en utilisant un système de base de données. – bernie