VBA Enum | Βήμα προς βήμα Παραδείγματα χρήσης απαριθμήσεων VBA

Το ENUM είναι μια σύντομη μορφή για απαρίθμηση, σχεδόν σε κάθε γλώσσα προγραμματισμού έχουμε απαριθμήσεις, ορισμένες είναι προκαθορισμένες και μερικές είναι απαριθμήσεις που καθορίζονται από το χρήστη, όπως στο VBA Το Vbnewline είναι απαρίθμηση και μπορούμε να κάνουμε τις δικές μας απαριθμήσεις χρησιμοποιώντας τη δήλωση ENUM.

Απαριθμήσεις VBA (Enum)

Συνήθως δηλώνουμε μεταβλητές και τους εκχωρούμε τύπους δεδομένων. Οι συνηθισμένοι τύποι δεδομένων που χρησιμοποιούμε είναι "Integer, Long, Single, Double, Variant και String". Έχουμε όμως έναν ακόμη τύπο δεδομένων, δηλαδή το VBA "Enum". Πρέπει να σκέφτεστε τι είναι αυτό και να φαίνεται περίεργο, αλλά για να ξεκαθαρίσετε όλες τις αμφιβολίες σας παρουσιάζουμε αυτό το άρθρο σχετικά με τους "VBA Enumerations"

Τι είναι το VBA Enum;

«Enum» σημαίνει απαρίθμηση. Το Enum είναι ένας τύπος μεταβλητής όπως η συμβολοσειρά ή ο ακέραιος αριθμός ή οποιοσδήποτε άλλος τύπος δεδομένων, αλλά εδώ δημιουργούμε ένα στοιχείο λίστας χρησιμοποιώντας τη δήλωση Enum του Excel VBA. Η απαρίθμηση σημαίνει «τη δράση να αναφέρουμε πολλά πράγματα ένα προς ένα».

Στο Excel VBA Enum είναι ένας τύπος που περιέχει απαρίθμηση σταθερών. Οι απαριθμήσεις δημιουργούν μια λίστα αντικειμένων και τις κάνουν σε μια ομάδα. Για παράδειγμα τύπος κινητών: «Redmi, Samsung, Apple, Vivo, Oppo».

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

Τύπος του VBA Enum

Εάν δεν καταλαβαίνετε τίποτα, μην ανησυχείτε, θα το σιγουρευτείτε αργά. Τώρα ρίξτε μια ματιά στον τύπο του VBA Enum.

 Enum GroupName Μέλος1 = [Long] Member2 = [Long] Member3 = [Long] Member4 = [Long] Member5 = [Long] End Enum 

Όπως είπα στην αρχή το Enum μπορεί να χρησιμοποιηθεί ως μεταβλητή και είναι ο αριθμητικός τύπος δεδομένων μεταβλητών του Long.

Παραδείγματα VBA Enum

Πριν ξεκινήσω τα παραδείγματα Enum, επιτρέψτε μου να σας δείξω το "Constant" παράδειγμα στο VBA. Το Constant είναι επίσης μια λέξη που χρησιμοποιείται για να δηλώσει τη μεταβλητή στο VBA.

Κοιτάξτε τους παρακάτω κωδικούς.

Κώδικας:

 Επιλογή Explicit Const Samsung = 15000 Const VIVO = 18000 Const Redmi = 8500 Const Oppo = 18500 Sub Enum_Example1 () End Sub 

Έχω δηλώσει τις μεταβλητές στην κορυφή της ενότητας χρησιμοποιώντας τη λέξη Const.

Const Samsung = 15000

Const VIVO = 18000

Const Redmi = 8500

Const Oppo = 18500

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

Κώδικας:

 Υπο Enum_Example1 () V End Sub 

Καθώς ξεκινάω τον χαρακτήρα «v», βλέπω πολλά άλλα πράγματα του VBA να είναι αναμεμιγμένα με αυτά που ξεκινούν με το γράμμα «v»

Εδώ έρχεται η εικόνα του VBA «Enumerations».

Για καλύτερη κατανόηση, ας προσπαθήσουμε να αλλάξουμε το χρώμα φόντου του κελιού.

Κώδικας:

 Υπο Enum_Example1 () AcriveCell.Interior.Color = RGB End Sub 

Όπως μπορείτε να δείτε στον παραπάνω κώδικα, μπορούμε να δούμε όλα τα χρώματα RGB διαθέσιμα στο VBA. Αυτές είναι όλες οι σταθερές με υπέροχα ονόματα.

Στην πραγματικότητα, όλα αυτά τα χρώματα RGB αποτελούν μέρος της οικογενειακής απαρίθμησης που ονομάζεται " xlRGBColor ".

Κώδικας:

 Υπο Enum_Example1 () AcriveCell.Interior.Color = xlrg End Sub 

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

Κώδικας:

Υπο Enum_Example1 () AcriveCell.Interior.Color = XlRgbColor. Τέλος Υποτ

Όπως μπορούμε να δούμε στην παραπάνω εικόνα, βλέπουμε μόνο συνδυασμούς χρωμάτων τίποτα άλλο. Αυτή είναι η απλή επισκόπηση του "VBA Enum".

Εντάξει, τώρα θα επιστρέψουμε στο αρχικό μας παράδειγμα των μελών της ομάδας Mobile. Όπως και πώς έχουμε δει τα μέλη της ομάδας με χρώμα RGB, μπορούμε να δηλώσουμε τις μεταβλητές χρησιμοποιώντας τη δήλωση VBA Enum.

Κώδικας:

 Enum Mobiles Samsung = 15000 VIVO = 18000 Redmi = 8500 Oppo = 18500 End Enum Sub Enum_Example1 () End Sub 

Τώρα έχω δηλώσει όλες τις μάρκες για κινητά στην ομάδα "Mobiles" χρησιμοποιώντας τις δηλώσεις "Enum".

Χρησιμοποιώντας το όνομα της ομάδας "Mobiles" τώρα μπορώ να έχω πρόσβαση σε όλες αυτές τις μάρκες στο module.

Κώδικας:

 Enum Mobiles Samsung = 15000 VIVO = 18000 Redmi = 8500 Oppo = 18500 End Enum Sub Enum_Example1 () Mob End Sub 

Επιλέξτε την ομάδα και τοποθετήστε μια κουκκίδα για να δείτε όλα τα μέλη της ομάδας.

Κοίτα μπορούμε να δούμε μόνο τα μέλη της ομάδας «Κινητά» τίποτα άλλο. Έτσι μπορούμε να χρησιμοποιήσουμε τους αριθμούς VBA για να ομαδοποιήσουμε μια λίστα αντικειμένων κάτω από μια στέγη.

Χρήση μεταβλητών απαρίθμησης VBA για αποθήκευση των δεδομένων

Ας δούμε ένα απλό παράδειγμα χρήσης των δηλωμένων Enum μεταβλητών. Δηλώστε το όνομα της ομάδας Enum ως "Τμήμα" και προσθέστε τα ονόματα του τμήματος ως μέλος της ομάδας.

Κώδικας:

 Enum Mobiles Finance = 150000 HR = 218000 Πωλήσεις = 458500 Marketing = 718500 End Enum Sub Enum_Example1 () End Sub 

Έχω δηλώσει τους αριθμούς μισθών κάθε τμήματος μπροστά τους.

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

Τώρα επιστρέψτε στον οπτικό βασικό επεξεργαστή και ανατρέξτε στο κελί B2 χρησιμοποιώντας το αντικείμενο RANGE .

Κώδικας:

 Υπο Enum_Example1 () Εύρος ("B2"). Τιμή = End Sub 

Στο κελί A2 έχουμε το τμήμα Οικονομικών και έτσι στο κελί B2, θα αποθηκεύσουμε τον μισθό αυτού του τμήματος. Πρώτα, λοιπόν, αποκτήστε πρόσβαση στο όνομα της ομάδας " Τμήμα ".

Κώδικας:

 Sub Enum_Example1 () Εύρος ("B2"). Τιμή = Dep End End 

Τώρα σε αυτήν την ομάδα, μπορούμε να δούμε μόνο δηλωμένα ονόματα τμημάτων .

Κώδικας:

Υπο Enum_Example1 () Εύρος ("B2"). Τιμή = Τμήμα. Τέλος Υποτ

Επιλέξτε το όνομα τμήματος " Οικονομικά ".

Κώδικας:

 Υπο Enum_Example1 () Range ("B2"). Value = Department.Finance End Sub 

Ομοίως, για όλα τα άλλα κελιά επιλέξτε τα αντίστοιχα ονόματα τμημάτων.

Κώδικας:

 Sub Enum_Example1 () Range ("B2"). Value = Department.Finance Range ("B3"). Value = Department.HR Range ("B4"). Value = Department.Marketing Range ("B5"). Value = Department Πώληση End Sub 

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

Έτσι μπορούμε να χρησιμοποιήσουμε το VBA Enum.

Μπορείτε να κατεβάσετε αυτό το VBA Enum Excel εδώ. Πρότυπο VBA Enum Excel