VBA Κατάργηση διπλότυπων | Πώς να αφαιρέσετε διπλές τιμές στο Excel VBA;

RemoveDuplicates στο VBA Excel

Συχνά δεν απαιτούνται διπλές τιμές στο excel ειδικά όταν θέλετε να μετρήσετε μοναδικές τιμές. Συνήθως έχουμε ένα διαφορετικό σύνολο δεδομένων για να δουλέψουμε και βλέπουμε ένα σωρό διπλές τιμές σε αυτό.

Ελπίζω να είστε εξοικειωμένοι με την κατάργηση διπλότυπων στο φύλλο εργασίας excel, αν όχι τίποτα να ανησυχείτε, θα σας δείξουμε ένα απλό παράδειγμα για εσάς. Στο VBA μπορούμε επίσης να εκτελέσουμε τη μέθοδο αφαίρεσης διπλών.

Έτσι, έχει καταργήσει όλες τις διπλές τιμές της επικεφαλίδας "Περιοχή". Ομοίως, μπορούμε να κάνουμε αυτήν την εργασία με τη βοήθεια του κώδικα VBA.

Πώς να αφαιρέσετε διπλές τιμές στην κωδικοποίηση VBA;

Για να καταργήσουμε πρώτα τις διπλές τιμές, πρέπει να αναφέρουμε το εύρος στο οποίο αναφερόμαστε και μετά μπορούμε να αποκτήσουμε πρόσβαση στη μέθοδο "Κατάργηση διπλών". Έτσι η σύνταξη θα έχει ως εξής.

[Στήλη]: Ποια στήλη της επιλογής πρέπει να καταργήσουμε τα διπλότυπα; Πρέπει να αναφέρουμε τον αριθμό στήλης του επιλεγμένου εύρους.

[Header]: Το εύρος που έχετε επιλέξει έχει κεφαλίδες ή όχι. Έχουμε τρεις επιλογές για να εργαστούμε εδώ.

  • xlΝαι: Εάν τα δεδομένα έχουν κεφαλίδες τότε μπορείτε να το επιλέξετε.
  • xlΟχι: Εάν τα δεδομένα δεν έχουν κεφαλίδες τότε μπορείτε να το επιλέξετε.
  • xlGuess: Αυτή η επιλογή θα επιτρέψει στο excel να μαντέψει τις κεφαλίδες των δεδομένων.

Χρησιμοποιώντας λοιπόν αυτές τις παραμέτρους, μπορούμε να αφαιρέσουμε τα διπλά με ένα πάτημα ενός κουμπιού χωρίς να χάσουμε τον ιδρώτα μας.

Στην παρακάτω ενότητα θα σας δείξω μερικά από τα παραδείγματα για την κατάργηση διπλών αντιγράφων του VBA. Ακολουθήστε προσεκτικά τα βήματα για να γράψετε τον κώδικα μόνοι σας.

Παραδείγματα κατάργησης διπλότυπων τιμών στην κωδικοποίηση VBA

Ακολουθούν τα παραδείγματα κατάργησης διπλότυπου στις τιμές VBA.

VBA Removeduplicates - Παράδειγμα # 1

Εξετάστε επίσης τα παρακάτω δεδομένα για αυτό το παράδειγμα.

Από τα παραπάνω δεδομένα, πρέπει να καταργήσουμε τα διπλότυπα στήλης "Περιοχή", οπότε ακολουθήστε τα παρακάτω βήματα για να γράψετε τον κώδικα.

Βήμα 1: Ξεκινήστε την υποδιαδικασία δίνοντας ένα όνομα κώδικα μακροεντολών.

Βήμα 2: Αναφέρετε το εύρος δεδομένων χρησιμοποιώντας το αντικείμενο VBA Range .

Κώδικας:

Sub Remove_Duplicates_Example1 () Εύρος ("A1: C9"). Τέλος Υποτ

Βήμα 3: Αφού αναφέρετε τη μέθοδο πρόσβασης VBA " RemoveDuplicates " στο εύρος .

Κώδικας:

 Sub Remove_Duplicates_Example1 () Εύρος ("A1: C9"). RemoveDuplicates End Sub 

Βήμα 4: Πρώτο όρισμα σε ποια στήλη πρέπει να καταργήσουμε τις διπλές τιμές. Σε αυτό το παράδειγμα από την πρώτη στήλη, πρέπει να καταργήσουμε τα διπλότυπα.

Κώδικας:

 Sub Remove_Duplicates_Example1 () Range ("A1: C9"). RemoveDuplicates Columns: = 1, End Sub 

Βήμα 5: Το επόμενο πράγμα είναι αν τα δεδομένα έχουν κεφαλίδες ή όχι. Σε αυτήν την περίπτωση, έχουμε κεφαλίδες, οπότε επιλέξτε "xlYes".

Κώδικας:

 Sub Remove_Duplicates_Example1 () Range ("A1: C9"). RemoveDuplicates Columns: = 1, Header: = xlΝέλος End Sub 

Εκτελέστε αυτόν τον κώδικα, θα VBA καταργήσει διπλότυπα από την επιλεγμένη περιοχή.

Αυτός είναι ένας ρητός τρόπος αναφοράς στο εύρος των κελιών. Εάν θέλετε να επιλέξετε το εύρος μόνοι μας και μετά να καταργήσετε τα διπλά, τότε πρέπει να χρησιμοποιήσουμε τη μεταβλητή για να δουλέψουμε. Στο παρακάτω παράδειγμα θα σας δείξω πώς να χρησιμοποιήσετε μεταβλητές στο VBA.

VBA Removeduplicates - Παράδειγμα # 2

Στο παραπάνω παράδειγμα, παρέχουμε συγκεκριμένα το εύρος των κελιών. Τώρα θα δούμε πώς να εργαζόμαστε με την επιλογή των δικών τους κελιών.

Για παράδειγμα, έχω μερικά σύνολα δεδομένων όπως φαίνεται στην παρακάτω εικόνα.

Κάθε φορά που δεν μπορώ να καθορίσω το εύρος των κελιών ρητά, έτσι θα ορίσουμε την επιλογή ως εύρος.

Βήμα 1: Δηλώστε τη μεταβλητή ως Range .

Κώδικας:

 Sub Remove_Duplicates_Example2 () Dim Rng ως Range End Sub 

Βήμα 2: Το εύρος είναι ένα αντικείμενο που θα ορίσουμε το εύρος ως επιλογή μας.

Κώδικας:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Selection End Sub 

Βήμα 3: Τώρα αντί για ένα εύρος κελιών μπορούμε να χρησιμοποιήσουμε τη μεταβλητή " rng ".

Κώδικας:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Selection Rng.RemoveDuplicates Columns: = 1, Header: = xl Ναι End Sub 

Πριν εκτελέσουμε τον κώδικα πρέπει πρώτα να επιλέξουμε το εύρος κελιών και μετά να αφαιρέσουμε τα διπλά από το επιλεγμένο εύρος κελιών.

VBA Κατάργηση διπλότυπων από πολλές στήλες - Παράδειγμα # 3

Μπορούμε επίσης να χρησιμοποιήσουμε το VBA για να αφαιρέσουμε διπλές τιμές από τις στήλες excel. Για να αφαιρέσουμε πολλές στήλες, πρέπει να χρησιμοποιήσουμε το Array και να αναφέρουμε τους αριθμούς στηλών.

Για παράδειγμα, δείτε το παράδειγμα δεδομένων δεδομένων.

Έχουμε διπλές τιμές στην πρώτη στήλη και στην τέταρτη στήλη. Έτσι θα καταργήσουμε από αυτές τις στήλες. Χρησιμοποιήστε τον παρακάτω κώδικα για να VBA για να καταργήσετε διπλότυπα.

Κώδικας:

 Sub Remove_Duplicates_Example3 () Dim Rng As Range Set Rng = Range ("A1: D9") Rng.RemoveDuplicates Columns: = Array (1, 4), Header: = xl Ναι End Sub 

Μπορείτε να κατεβάσετε αυτό το VBA Remove Duplicates Excel εδώ. Πρότυπο κατάργησης διπλότυπων Excel VBA