Excel - Συγκρίνετε δύο στήλες και διαγράψτε τα διπλά
- Θέμα
- Λύση
- Σημείωση
Θέμα
Χρειάζομαι μια μακροεντολή για ένα υπολογιστικό φύλλο Excel που θα συγκρίνει τις γραμμές με βάση δύο κελιά και θα βρει τυχόν αντίγραφα.
Σε αυτό το παράδειγμα, οι δύο πρώτες στήλες - Α και Β - είναι αυτές που πρέπει να είναι μοναδικές. Η μακροεντολή θα πρέπει να επισημαίνει μόνο γραμμές που αντιστοιχούν τέλεια και στις δύο στήλες. Επομένως, σε αυτό το παράδειγμα, μόνο η πέμπτη σειρά θα πρέπει να επισημανθεί, καθώς πρόκειται για ακριβή αντιστοίχιση για την παραπάνω.
Παράδειγμα:
Σειρά A Col Col Col Col Col D 00001 AAAA1 xxxx yyyy 00001 BBBB1 xxxx xxxx 00001 BBBB2 yyyy yyyy 00002 AAAA1 yyyy xxxx 00002 AAAA1 yyyy xxxx 00003 AAAA1 xxxx yyyy
Λύση
Αυτή η λύση θα αλλάξει τα δεδομένα στο υπολογιστικό φύλλο σας, οπότε βεβαιωθείτε ότι έχετε αποθηκεύσει ένα αντίγραφο ασφαλείας.
Πρώτον, πρέπει να συνδυάσετε τα δεδομένα στις στήλες Α και Β έτσι ώστε να μπορούν να συγκριθούν στο σύνολό τους. Για να το κάνετε αυτό, πληκτρολογήστε ένα κενό κελί στο τέλος της πρώτης σειράς δεδομένων (σε αυτό το παράδειγμα χρησιμοποιούμε τη γραμμή 2 - αλλάξτε όπως είναι απαραίτητο):
= Α2 & Β2
Αντιγράψτε αυτόν τον τύπο προς τα κάτω για ολόκληρο το υπολογιστικό φύλλο.
Τώρα εκτελέστε τη μακροεντολή παρακάτω. Σε αυτόν τον κώδικα δείγματος, θεωρείται ότι γράψατε τον παραπάνω τύπο στη στήλη Ε. Αλλάξτε τον κωδικό ανάλογα με τις ανάγκες.
Προειδοποίηση: Αυτή η μακροεντολή θα διαγράψει γραμμές, επομένως είναι σημαντικό να βεβαιωθείτε ότι έχετε κάνει το αντιγράφων αντίγραφο ασφαλείας αντί να το δοκιμάσετε.
Υπόμνημα () Dim i Ως ακέραιος, k Ως ακέραιος, r Ως Εύρος j = Εύρος ("E2") Τέλος (xlDown) .Row Για k = j Για 2 Βήμα -1 MsgBox k Ρύθμιση r =, "E"), Κύτταρα (k, "E") Τέλος (xlUp)) Εάν WorksheetFunction.CountIf (r, Κύτταρα (k, "E"))> 1 Στη συνέχεια Κύτταρα (k, "E" Διαγραφή Τέλους Αν Next k End Sub
Σημείωση
Χάρη στο venkat1926 για αυτή την άκρη στο φόρουμ.