Λεξικό VBA | Οδηγός για εργασία με λεξικά Excel VBA

Λεξικό Excel VBA

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

Το λεξικό VBA είναι πολύ δύσκολο να μπεις, αλλά θα προσπαθήσουμε το καλύτερό μας επίπεδο για να το κάνουμε εύκολο να το καταλάβεις. Μπορούμε να συγκρίνουμε τόσο Λεξικό όσο και Συλλογή στην ίδια κλίμακα, αλλά μερικά από τα λεξικά VBA προσφέρουν μερικές από τις λειτουργίες που δεν είναι διαθέσιμες με το αντικείμενο VBA Συλλογές.

Εργασία με λεξικά VBA

Για να δουλέψουμε με τα λεξικά VBA, το πρώτο πράγμα που πρέπει να κάνουμε είναι να ορίσουμε την αναφορά αντικειμένου σε «Microsoft Scripting Runtime».

Για να ορίσετε την αναφορά, ακολουθήστε τα παρακάτω βήματα.

Βήμα 1: Μεταβείτε στα Εργαλεία> Αναφορές.

Βήμα 2: Κάντε κύλιση προς τα κάτω και επιλέξτε την επιλογή "Microsoft Scripting Runtime" και, στη συνέχεια, κάντε κλικ στο OK.

Τώρα μπορούμε να έχουμε πρόσβαση στο λεξικό VBA με τη βιβλιοθήκη σεναρίων.

Μπορείτε να κατεβάσετε αυτό το Πρότυπο Excel Λεξικό VBA εδώ - Πρότυπο Excel Λεξικό VBA

Δημιουργία παρουσίας λεξικού με κώδικα VBA

Αφού ορίσουμε την αναφορά στο «Microsoft Scripting Runtime», πρέπει να δημιουργήσουμε μια παρουσία του Λεξικού VBA. Αρχικά, δηλώστε τη μεταβλητή ως Scripting.Dictionary

Κώδικας:

 Υπο Dict_Example1 () Dim Dict As Scripting.Dictionary End Sub

Τώρα η μεταβλητή "Dict" είναι μια μεταβλητή αντικειμένου. Για τη μεταβλητή αντικειμένου, πρέπει να ορίσουμε την αναφορά αντικειμένου χρησιμοποιώντας τη λέξη "Νέο".

Ορισμός Dict = Νέο Scripting.Dictionary

Τώρα μπορούμε να έχουμε πρόσβαση σε όλες τις ιδιότητες και τις μεθόδους του λεξικού.

Σημείωση: Όλες οι λέξεις με πράσινο κουμπί είναι Μέθοδοι και άλλες είναι Ιδιότητες.

Τώρα δηλώστε μια μεταβλητή ως DictResult.

Dim DictResult ως παραλλαγή

Τώρα χρησιμοποιώντας τη μεταβλητή "Dict" θα δημιουργήσουμε ένα νέο κλειδί.

Το κλειδί είναι ποια είναι η λέξη που προσθέτουμε. Ας προσθέσουμε το όνομα του κινητού τηλεφώνου ως "Redmi".

Το στοιχείο δεν είναι παρά ο ορισμός της λέξης ( κλειδί ) που έχουμε προσθέσει. Αυτός ο ορισμός του τηλεφώνου είναι η τιμή του, οπότε θα προσθέσω την τιμή σε 15000.

Τώρα για μια άλλη μεταβλητή "DictResult", θα προσθέσουμε λέξη-κλειδί χρησιμοποιώντας τη μεταβλητή "Dict".

Το κλειδί είναι η λέξη που έχουμε δημιουργήσει στο προηγούμενο βήμα, δηλαδή το όνομα του τηλεφώνου.

Τώρα η μεταβλητή "DictResult" έχει το στοιχείο του κλειδιού που έχουμε προσθέσει. Τώρα δείξτε το αποτέλεσμα της μεταβλητής στο πλαίσιο μηνυμάτων VBA.

Κώδικας:

 Sub Dict_Example1 () Dim Dict As Scripting.Dictionary Set Dict = New Scripting.Dictionary Dim DictResult As Variant Dict.Ad Key: = "Redmi", Item: = 15000 DictResult = Dict ("Redmi") MsgBox DictResult End Sub 

Τώρα εκτελέστε τον κωδικό χειροκίνητα ή χρησιμοποιώντας το πλήκτρο F5 και ένα πλαίσιο μηνύματος θα σας δείξει την τιμή ( στοιχείο ) του τηλεφώνου ( κλειδί ) που έχουμε προσθέσει χρησιμοποιώντας το "Dict".

Κατανόηση ΚΛΕΙΔΙΟΥ & ΣΤΟΙΧΕΙΟΥ

Αν δεν έχετε καταλάβει το ΚΛΕΙΔΙ & το ΣΗΜΕΙΑ, επιτρέψτε μου να σας εξηγήσω με ένα απλό παράδειγμα. Φανταστείτε το πραγματικό λεξικό του κόσμου, με αυτό το λεξικό έχουμε λέξεις (κλειδιά) και την έννοια αυτών των λέξεων (στοιχείο). Ομοίως, οι λέξεις είναι κλειδιά και ο ορισμός ή η έννοια είναι το αντικείμενο.

Τώρα, δείτε ένα ακόμη παράδειγμα λεξικού. Ας υποθέσουμε ότι ψάχνετε έναν αριθμό τηλεφώνου ενός συγκεκριμένου ατόμου. Πώς ψάχνετε;

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

Το όνομα του ατόμου είναι το κλειδί.

Ο αριθμός τηλεφώνου είναι στοιχείο.

Εάν θέλετε το παράδειγμα του Excel μπορούμε να δώσουμε το VLOOKUP ως παράδειγμα. Χρησιμοποιούμε τον τύπο για να αναζητήσουμε τιμές βάσει της ΑΞΙΑΣ LOOKUP (Κλειδί). Το αποτέλεσμα που επιστρέφεται από τη συνάρτηση VLOOKUP ονομάζεται Item.

Ελέγξτε αν το κινητό τηλέφωνο υπάρχει ή όχι

Φανταστείτε ότι δίνετε μια φόρμα χρήστη στους πελάτες σας για να ελέγξετε την τιμή του κινητού τηλεφώνου με ένα απλό πλαίσιο εισαγωγής. Κάτω από το Excel VBA κωδικός θα εμφανιστεί ένα Input Box μπροστά από τον χρήστη και πρέπει να εισέλθουν στην επωνυμία του τηλεφώνου που αναζητούν, εάν η επωνυμία υπάρχει στο λεξικό θα εμφανίσει την τιμή του αντίστοιχου τηλεφώνου ή αλλιώς θα εμφανίστε το μήνυμα ως "Τηλέφωνο που ψάχνετε δεν υπάρχει στη βιβλιοθήκη".

Κώδικας:

 Sub Dict_Example2 () Dim PhoneDict As Scripting.Dictionary Dim DictResult As Variant Set PhoneDict = New Scripting.Dictionary PhoneDict.Add Key: = "Redmi", Item: = 15000 PhoneDict.Add Key: = "Samsung", Item: = 25000 PhoneDict .Add Key: = "Oppo", Item: = 20000 PhoneDict. Add Key: = "VIVO", Item: = 21000 PhoneDict. Add Key: = "Jio", Item: = 2500 DictResult = Application.InputBox (Προτροπή: = "Παρακαλώ εισάγετε το όνομα τηλεφώνου") Εάν το PhoneDict.Exists (DictResult), τότε το MsgBox "Η τιμή του τηλεφώνου" & DictResult & "είναι:" & PhoneDict (DictResult) Else MsgBox "Το τηλέφωνο που ψάχνετε δεν υπάρχει στο Βιβλιοθήκη "End if End Sub 

Εκτελέστε αυτόν τον κωδικό χρησιμοποιώντας το πλήκτρο F5 ή χειροκίνητα και δείτε το αποτέλεσμα.