Πίνακας περιεχομένων
Ενώ εργάζεται με Microsoft Excel , μερικές φορές πρέπει να βρούμε την τιμή που ταιριάζει σε ένα εύρος τιμών. Μπορούμε εύκολα να το κάνουμε αυτό με τις συναρτήσεις του excel. Υπάρχουν συναρτήσεις στη VBA που μπορούμε να χρησιμοποιήσουμε, αλλά καμία από αυτές δεν είναι ίση με την ΜΑΤΣ . Σε αυτό το άρθρο, θα μάθουμε πώς να αντιστοιχίζουμε μια τιμή σε ένα εύρος τιμών με το Excel VBA .
Κατεβάστε το βιβλίο ασκήσεων
Μπορείτε να κατεβάσετε το τετράδιο εργασιών και να εξασκηθείτε μαζί τους.
VBA Αντιστοίχιση τιμής σε Range.xlsmΕισαγωγή στη λειτουργία Match του Excel VBA
Το Λειτουργία αγώνα στο Excel VBA είναι μια χρήσιμη κατασκευασμένη συνάρτηση αναζήτησης που, όπως η VLOOKUP , HLOOKUP , και το INDEX συναρτήσεις, επιστρέφει τη θέση της ταυτότητας ή της συγκρίσιμης αντιστοίχισης των τιμών αναζήτησης που λαμβάνονται σε πίνακες ή σε μια βάση δεδομένων. Η συνάρτηση αυτή είναι μια συνάρτηση φύλλου εργασίας που χρησιμοποιεί το πρόγραμμα. Επειδή είναι μια συνάρτηση φύλλου εργασίας, οι παράμετροι για τη συνάρτηση Αντιστοίχιση είναι παρόμοιες με εκείνες της συνάρτησης φύλλου εργασίας.
3 παραδείγματα του Excel VBA για την αντιστοίχιση τιμών σε εύρος τιμών
1. Αντιστοίχιση τιμής σε εύρος τιμών με τη λειτουργία VBA Match στο Excel
Για να χρησιμοποιήσετε τη λειτουργία Match του Excel VBA , για την εύρεση της αντίστοιχης τιμής σε ένα εύρος, θα χρησιμοποιήσουμε το ακόλουθο σύνολο δεδομένων. Το σύνολο δεδομένων έχει κάποια ονόματα μαθητών στη στήλη C , τους βαθμούς τους σε ένα συγκεκριμένο θέμα στη στήλη D και τον αύξοντα αριθμό κάθε μαθητή στη στήλη B Τώρα, ας υποθέσουμε ότι θέλουμε να βρούμε τη θέση αντιστοιχίας στο κελί G5 ενός συγκεκριμένου σήματος, και το σήμα που θέλουμε να ταιριάξουμε βρίσκεται στο κελί F5 .
Ας επιδείξουμε τη διαδικασία για την εύρεση τιμών αντιστοιχίας σε ένα εύρος τιμών με τη χρήση της συνάρτησης Match του Excel VBA .
ΒΗΜΑΤΑ:
- Πρώτον, μεταβείτε στο Προγραμματιστής από την κορδέλα.
- Δεύτερον, κάντε κλικ στο Visual Basic για να ανοίξετε το Visual Basic Editor , όπου γράφουμε τον κώδικα. Ή, πατήστε Alt + 11 για να ανοίξετε το Visual Basic Editor .
- Ένας άλλος τρόπος για να ανοίξετε Visual Basic Editor είναι απλά να δεξί κλικ στο στο φύλλο εργασίας και κάντε κλικ στο Προβολή κωδικού .
- Αυτό θα ανοίξει το Visual Basic Editor Τώρα, γράψτε τον κώδικα εκεί.
Κωδικός VBA:
Sub example1_match() Range("G5").Value = WorksheetFunction.Match(Range("F5").Value, Range("D5:D10"), 0) End Sub
- Μετά από αυτό, για να εκτελέσετε τον κώδικα, πατήστε το πλήκτρο F5 στο πληκτρολόγιό σας ή κάντε κλικ στο Rub Sub κουμπί.
- Τέλος, μπορείτε να δείτε ότι η αντιστοιχία βρέθηκε στη θέση 5 .
🔎 Πώς λειτουργεί ο κώδικας VBA;
Υποπαράδειγμα example1_match()
: Αυτό σημαίνει ότι ορίζουμε μια υποδιαδικασία δίνοντας το όνομα της μακροεντολής.Range("G5").Value
: Θέλουμε η έξοδος να αποθηκευτεί στο κελί G5 .WorksheetFunction
: Με τη χρήση αυτού του κώδικα θα μπορούμε να έχουμε πρόσβαση στις συναρτήσεις VBA.
Match(Range("F5").Value, Range("D5:D10"), 0)
: Εδώ, χρησιμοποιούμε η λειτουργία Match στην VBA. Καθώς θέλουμε να πάρουμε την τιμή από το κελί F5 και βρείτε τη θέση στο εύρος D5:D10 .End Sub
: Αυτό σημαίνει ότι τερματίζουμε τη διαδικασία.
Διαβάστε περισσότερα: Excel VBA για την αντιστοίχιση συμβολοσειράς σε στήλη (5 παραδείγματα)
2. Χρήση του Excel VBA για την αντιστοίχιση τιμής από άλλο φύλλο εργασίας
Μπορούμε να βρούμε τιμές αντιστοιχίας στο εύρος από ένα άλλο φύλλο εργασίας, χρησιμοποιώντας η λειτουργία VBA Match στο Excel Ας υποθέσουμε ότι έχουμε ένα σύνολο δεδομένων σε ένα φύλλο με όνομα " Δεδομένα " και θέλουμε το αποτέλεσμα στο όνομα του φύλλου " Αποτέλεσμα ". Και χρησιμοποιούμε το ίδιο σύνολο δεδομένων. Τώρα, ας ακολουθήσουμε τα βήματα για να το κάνουμε αυτό.
ΒΗΜΑΤΑ:
- Στην αρχή, με το ίδιο σκεπτικό όπως και στο προηγούμενο παράδειγμα, πηγαίνετε στο Προγραμματιστής στην καρτέλα της κορδέλας.
- Στη συνέχεια, κάντε κλικ στο Visual Basic ή πατήστε Alt + F11 για να ανοίξετε το Visual Basic Editor .
- Αντ' αυτού, για να ανοίξετε το Visual Basic Editor , απλά κάντε δεξί κλικ στο φύλλο και επιλέξτε Προβολή κωδικού .
- Τώρα, γράψτε τον κώδικα VBA.
Κωδικός VBA:
Sub example2_match() Sheets("Result").Range("C5").Value = WorksheetFunction.Match(Sheets("Result").Range("C5").Value, Sheets("Data").Range("D5:D10"), 0) End Sub
- Στη συνέχεια, εκτελέστε τον κώδικα πατώντας το πλήκτρο F5 ή κάνοντας κλικ στο πλήκτρο Run Sub κουμπί.
- Και, το αποτέλεσμα βρίσκεται στο " Αποτέλεσμα " φύλλο.
Διαβάστε περισσότερα: Πώς να αντιστοιχίσετε δεδομένα στο Excel από 2 φύλλα εργασίας
Παρόμοιες αναγνώσεις
- Άθροισμα όλων των αντιστοιχιών με VLOOKUP στο Excel (3 εύκολοι τρόποι)
- Πώς να βρείτε το Case Sensitive Match στο Excel ( 6 τύποι)
- Πώς να αντιστοιχίσετε ονόματα στο Excel όπου η ορθογραφία διαφέρει (8 μέθοδοι)
3. Βρόχοι του Excel VBA για να λάβετε την αντίστοιχη τιμή σε εύρος τιμών
Ας υποθέσουμε ότι θέλουμε πολλαπλά σημάδια να ταιριάζουν με την τιμή, θα χρησιμοποιήσουμε τους βρόχους της VBA για αυτό. Χρησιμοποιούμε το ίδιο σύνολο δεδομένων όπως και πριν. Τώρα, θέλουμε τη θέση αντιστοίχισης στη στήλη G , και τα σημάδια που θέλουμε να βρούμε την αντιστοιχία βρίσκονται στη στήλη F Ας δούμε τα σκαλοπάτια κάτω.
ΒΗΜΑΤΑ:
- Πρώτον, από την κορδέλα, μεταβείτε στην επιλογή Προγραμματιστής καρτέλα.
- Δεύτερον, για να ανοίξετε το Visual Basic Editor , κάντε κλικ στο Visual Basic ή πατήστε Alt + F11 .
- Ή απλά κάντε δεξί κλικ στο φύλλο και επιλέξτε Προβολή κωδικού .
- Αυτό θα ανοίξει το Visual Basic Editor .
- Τώρα, πληκτρολογήστε τον κωδικό εκεί.
Κωδικός VBA:
Sub example3_match() Dim i As Integer For i = 5 To 8 Cells(i, 7).Value = WorksheetFunction.Match(Cells(i, 6).Value, Range("D5:D10"), 0) Next i End Sub
- Μετά από αυτό, πατώντας το πλήκτρο F5 ή κάνοντας κλικ στο πλήκτρο Run Sub θα εκτελέσει τον κώδικα.
- Και, θα μπορείτε να δείτε το αποτέλεσμα στη στήλη G .
🔎 Πώς λειτουργεί ο κώδικας VBA;
For i = 5 έως 8
: Αυτό σημαίνει ότι θέλουμε ο βρόχος να εκτελείται ξεκινώντας από τη γραμμή 5 και τελειώνει με τη σειρά 8 .Cells(i, 7).Value
: Αυτό αποθηκεύει την τιμή των θέσεων που προκύπτουν σε κάθε γραμμή από το 5 στο 8 γραμμές στη στήλη G που είναι ο αριθμός στήλης 7 .Match(Cells(i, 6).Value, Range("D5:D10"), 0)
: Τα κελιά μπορούν να αντιστοιχιστούν χρησιμοποιώντας το Αγώνας συνάρτηση (i, 6). Αναζήτηση τιμών για κάθε τιμή Lookup που βρέθηκε στις γραμμές 5 μέσω του 8 του 6η στη στήλη. Στη συνέχεια, αναζητείται στον πίνακα D5:D10 σε ένα φύλλο excel όπου υπάρχουν διαθέσιμα δεδομένα.
Διαβάστε περισσότερα: Excel Εύρεση τιμών που ταιριάζουν σε δύο στήλες
Πράγματα που πρέπει να έχετε κατά νου
- Εάν ο τύπος αντιστοιχίας λείπει ή δεν έχει καθοριστεί, θεωρείται ότι είναι 1 .
- Εάν δεν εντοπιστεί καμία αντιστοιχία, το σχετικό πεδίο excel θα είναι κενό.
- Η τιμή αναζήτησης μπορεί να είναι ένα αριθμητικό, χαρακτήρας ή λογικό δεδομένο ή μια αναφορά κελιού σε μια ποσότητα, κείμενο ή λογική σημασία.
Συμπέρασμα
Οι παραπάνω μέθοδοι θα σας βοηθήσουν να αντιστοιχίσετε τιμές σε ένα εύρος τιμών στο Excel VBA. Ελπίζω ότι αυτό θα σας βοηθήσει! Αν έχετε ερωτήσεις, προτάσεις ή σχόλια, ενημερώστε μας στην ενότητα σχολίων. Ή μπορείτε να ρίξετε μια ματιά στα άλλα άρθρα μας στην ενότητα ExcelWIKI.com blog!