Επιστρέψτε μοναδικά στοιχεία χρησιμοποιώντας VBA στο Microsoft Excel

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

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

Τα ακατέργαστα δεδομένα για αυτό το παράδειγμα αποτελούνται από διπλές καταχωρίσεις ονομάτων χωρών στο εύρος A7: A21.

Δημιουργήσαμε τη μακροεντολή "FindUniqueValues" για να εξαγάγουμε μοναδικές τιμές από το καθορισμένο εύρος. Αυτή η μακροεντολή μπορεί να εκτελεστεί κάνοντας κλικ στο κουμπί "Υποβολή". Πριν κάνουμε κλικ στο κουμπί "Υποβολή", πρέπει να καθορίσουμε τη διεύθυνση της περιοχής που περιέχει διπλά δεδομένα στο κελί H9 και τη διεύθυνση του προορισμού όπου θα πρέπει να εμφανίζεται η έξοδος.

Λογική εξήγηση

Η μακροεντολή "FindUniqueValues" λαμβάνει δύο αντικείμενα εύρους ως παραμέτρους εισόδου. Η πρώτη παράμετρος καθορίζει το εύρος που περιέχει τα διπλά δεδομένα και η δεύτερη παράμετρος καθορίζει τη θέση του κελιού εκκίνησης που θα περιέχει την έξοδο. Αυτή η μακροεντολή δεν μπορεί να κληθεί απευθείας καθώς πρέπει να καθορίσουμε τις παραμέτρους, οπότε δημιουργήσαμε τη δεύτερη μακροεντολή "MacroRunning" για να καλέσουμε τη μακροεντολή.

Η μακροεντολή "MacroRunning" καλεί τη μακροεντολή "FindUniqueValues" με την παράμετρο που εισάγει ο χρήστης.

Επεξήγηση κώδικα

SourceRange.AdvancedFilter Action: = xlFilterCopy, _

CopyToRange: = TargetCell, Unique: = True

Η μέθοδος AdvancedFilter του αντικειμένου εύρους χρησιμοποιείται για το φιλτράρισμα ή την αντιγραφή δεδομένων από το εύρος με βάση ορισμένα κριτήρια. Για να αντιγράψετε μόνο τις μοναδικές τιμές, πρέπει να ορίσετε τη μοναδική παράμετρο του AdvancedFilter σε True.

Ακολουθήστε παρακάτω για τον κωδικό

 Option Explicit Sub FindUniqueValues ​​(SourceRange As Range, TargetCell As Range) 'Χρήση φίλτρου προόδου για την εξαγωγή μοναδικών στοιχείων στην περιοχή πηγής SourceRange.AdvancedFilter Action: = xlFilterCopy, _ CopyToRange: = TargetCell, Unique: = True End Sub MacroRunning () Κλήση μακροεντολής FindUniqueValues ​​Κλήση FindUniqueValues ​​(Εύρος (Εύρος ("H9"). Τιμή), Εύρος (Εύρος ("H10"). Τιμή)) Τέλος υπο. 

Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.

Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email

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

wave wave wave wave wave