2016-11-22 3 views
0

J'ai plus de 200 000 enregistrements de données client dans mon fichier csv. Je veux être en mesure de créer une macro qui permettra de comparer le numéro de compte et le nom du produit. Puisque le numéro de compte est une clé de primay, il ne peut être lié qu'à un seul nom de produit.VBA Supprimer des doublons Ligne basée sur deux macro de colonne

Je veux que ma macro donne la même sortie. En ce moment quand je cours ma macro sur plus de 200k disques. Je n'ai que 20 lignes.

enter image description here

Sub DelDupl() 
Dim Rng As Range, Dn As Range, Del As Integer, Msg As Integer 
Set Rng = Range(Range("C2"), Range("C" & Rows.Count).End(xlUp)) 
For Msg = 1 To 2 
    For Del = Rng.Count To 1 Step -1 
     If Msg = 1 And Application.CountIf(Rng, Cells(Del, "C")) = 1 Then 

     End If 
     If Msg = 2 And Application.CountIf(Rng, Cells(Del, "C")) > 1 Then 
      Rows(Del).EntireRow.Delete 
     End If 
    Next Del 
Next Msg 
End Sub 

Merci à l'avance!

+2

Avez-vous essayé d'utiliser * données >> Supprimer les doublons *? –

+0

Vous ne souhaitez donc plus que des lignes avec des numéros de compte uniques? Pourquoi ne pas trier et ensuite faire une boucle sur cela et supprimer des lignes si égal à ci-dessus? – atclaus

+0

Dans votre question, vous dites que * Puisque le numéro de compte est une clé de primay, il ne peut être lié qu'à un seul nom de produit. * Voulez-vous vraiment dire * Puisque le numéro de compte est une clé de primay? * prénom.* ? Si c'est le cas, vous devez mettre à jour la question car elle ne l'analyse pas actuellement. –

Répondre