Κατάργηση διπλότυπων στο Excel VBA - Εύκολες μακροεντολές Excel

Πίνακας περιεχομένων

Παρακάτω θα δούμε ένα πρόγραμμα στο Excel VBA ότι αφαιρεί τα διπλότυπα.

Κατάσταση:

Στη στήλη Α έχουμε 10 αριθμούς. Θέλουμε να αφαιρέσουμε τα διπλότυπα από αυτούς τους αριθμούς και να τοποθετήσουμε τους μοναδικούς αριθμούς στη στήλη Β.

1. Αρχικά, δηλώνουμε τέσσερις μεταβλητές. toΠροσθήκη τύπου Boolean, μοναδικόςΑριθμοί τύπου ακέραιος, i τύπος ακέραιος και j τύπου ακέραιος

Dim toAdd As Boolean, uniqueNumbers As Integer, i As Integer, j As Integer

2. Στη συνέχεια, γράφουμε τον πρώτο αριθμό της στήλης Α στη στήλη Β αφού ο πρώτος αριθμός είναι πάντα «μοναδικός».

Κελιά (1, 2). Αξία = Κελιά (1, 1). Αξία

3. Αρχικοποιούμε δύο μεταβλητές. Μόλις προσθέσαμε έναν αριθμό στη στήλη Β, οπότε αρχικοποιούμε τους μοναδικούς αριθμούς με την τιμή 1. Ρυθμίζουμε τοΠροσθήκη σε True υποθέτοντας ότι πρέπει να προστεθεί και ο επόμενος αριθμός (αυτό δεν ισχύει απαραίτητα φυσικά).

μοναδικοί αριθμοί = 1
toAddd = True

Πρέπει να καθορίσουμε αν ο δεύτερος αριθμός είναι «μοναδικός» ή όχι. Αυτό μπορεί να γίνει με έναν πολύ εύκολο τρόπο. Μόνο εάν ο αριθμός δεν βρίσκεται ήδη στη στήλη Β, ο δεύτερος αριθμός πρέπει να προστεθεί στη στήλη Β.

4. Πρέπει επίσης να το ελέγξουμε για τον τρίτο αριθμό, τον τέταρτο αριθμό κ.ο.κ. Ξεκινάμε έναν βρόχο For Next για αυτό.

Για i = 2 έως 10

5. Τώρα έρχεται το πιο σημαντικό μέρος του προγράμματος. Εάν ο δεύτερος αριθμός είναι ίσος με έναν από τους αριθμούς της στήλης Β (μέχρι στιγμής έχουμε μόνο έναν μοναδικό αριθμό), ορίζουμε την επιλογήΠροσθήκη σε Λάθος γιατί σε αυτή την περίπτωση δεν θέλουμε να προσθέσουμε αυτόν τον αριθμό! (δεν είναι «μοναδικό»). Προς το παρόν το uniqueNumbers είναι ακόμα ίσο με 1, αλλά το uniqueNumbers μπορεί να είναι μια ολόκληρη λίστα. Για να ελέγξουμε ολόκληρη αυτήν τη λίστα, χρειαζόμαστε έναν άλλο βρόχο For Next. Και πάλι: εάν ο αριθμός που θέλουμε να προσθέσουμε είναι ίσος με έναν από τους αριθμούς αυτής της λίστας, το toAdd θα οριστεί σε False και ο αριθμός δεν θα προστεθεί. Προσθέστε τις ακόλουθες γραμμές κώδικα:

Για j = 1 Προς μοναδικούς αριθμούς
Αν Κελιά (i, 1). Αξία = Κελιά (j, 2). Αξία Τότε
toAdd = Λάθος
Τέλος εαν
Επόμενο j

6. Μόνο αν το toAdd εξακολουθεί να είναι True και δεν έχει οριστεί σε False, το Excel VBA πρέπει να προσθέσει τον αριθμό στη στήλη B. Ταυτόχρονα, αυξάνουμε τους μοναδικούς αριθμούς κατά 1, επειδή έχουμε έναν μοναδικό αριθμό περισσότερους τώρα. Οι ακόλουθες γραμμές κώδικα κάνουν τη δουλειά:

Αν toAdd = True Τότε
Κελιά (μοναδικοί Αριθμοί + 1, 2). Αξία = Κελιά (i, 1). Αξία
μοναδικοί αριθμοί = μοναδικοί αριθμοί + 1
Τέλος εαν

7. Τέλος, ορίζουμε τοAddd to True, υποθέτοντας ότι πρέπει να προστεθεί ο επόμενος αριθμός (τρίτος αριθμός). Και πάλι αυτό δεν είναι απαραίτητα αλήθεια.

toAddd = True

8. Μην ξεχάσετε να κλείσετε το βρόχο.

Επόμενο i

9. Τοποθετήστε τη μακροεντολή σας σε ένα κουμπί εντολών και δοκιμάστε την.

Αποτέλεσμα:

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave