Δήλωση τύπου VBA (Παράδειγμα) | Πώς να δηλώσετε μεταβλητές με τύπο VBA;

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

Τι είναι η δήλωση τύπου στο Excel VBA;

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

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

Σε ένα από τα προηγούμενα άρθρα, έχουμε συζητήσει το "VBA ENUM" για να ομαδοποιήσουμε όλες τις μεταβλητές με το όνομα μιας ομάδας.

Για παράδειγμα, εάν έχετε ένα όνομα ομάδας που ονομάζεται "Mobiles" έχουμε μέλη της ομάδας όπως "Redmi, Oppo, Vivo, Samsung, LG κ.λπ.". Έτσι, Enum δήλωση μπορούμε να ομαδοποιήσουμε μαζί με τις αντίστοιχες τιμές τους.

Enum Κινητά

Redmi = 12000

Oppo = 18000

Vivo = 18000

Samsung = 25000

LG = 15000

Τέλος Enum

Έτσι, έχουμε δημιουργήσει απαριθμήσεις σε αυτό το άρθρο. Το πρόβλημα με τη δήλωση Enum, καθώς μπορεί να περιέχει μόνο έναν ΜΑΚΡΟΠΡΟ τύπο δεδομένων. Για να ομαδοποιήσουμε μεταβλητές με διαφορετικούς τύπους δεδομένων, μπορούμε να χρησιμοποιήσουμε το "VBA TYPE Statement". Σε αυτό το άρθρο, θα σας δείξουμε πώς να δημιουργήσετε μια δήλωση τύπου στο VBA. Συνέχισε να διαβάζεις…

Σύνταξη

Προτού δηλώσετε μεταβλητές χρησιμοποιώντας τη δήλωση τύπου ρίξτε μια ματιά στη σύνταξη:

Τύπος Όνομα Ομάδας             [Μεταβλητή 1] ως Μεταβλητός Τύπος Δεδομένου             [Μεταβλητή 2] ως Μεταβλητός Τύπος Δεδομένου             [Μεταβλητή 3] ως Μεταβλητός Τύπος Δεδομένου             [Μεταβλητή 4] ως Μεταβλητός Τύπος Δεδομένου             [Μεταβλητή 5] ως Μεταβλητός Τύπος Δεδομένου Τελικός Τύπος

Αυτοί οι τύποι δηλώσεων μπορούν να δηλωθούν τόσο στην ενότητα όσο και στην κορυφή της ενότητας όπως οι καθολικές μεταβλητές μας στο VBA.

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

Πληκτρολογήστε Παράδειγμα δήλωσης στο VBA

Μπορείτε να κατεβάσετε αυτό το Πρότυπο δήλωσης τύπου VBA εδώ - Πρότυπο δήλωσης τύπου VBA

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

Βήμα 1: Στο επάνω μέρος της ενότητας ξεκινήστε τη λέξη «Τύπος» και δώστε ένα όνομα στον τύπο ομάδας.

Κώδικας:

 Πληκτρολογήστε MobileBrands End Type 

Βήμα 2: Στις μάρκες για κινητά ποια είναι τα πράγματα που βλέπουμε συνήθως. Βλέπουμε το Όνομα πρώτα, έτσι δηλώνουμε τη μεταβλητή ως Όνομα ως Συμβολοσειρά

Κώδικας:

 Πληκτρολογήστε MobileBrands Name ως String End Type 

Βήμα 3: Μετά το όνομα, ελέγχουμε την ημερομηνία έναρξης. Δηλώστε τη μεταβλητή ως LaunchDate ως ημερομηνία.

Κώδικας:

 Πληκτρολογήστε MobileBrands Name As String LaunchDate As Date End Type 

Βήμα 4: Το επόμενο είναι να ελέγξουμε τη χωρητικότητα αποθήκευσης. Για να δηλώσετε τη μεταβλητή ως Storage ως Integer.

Κώδικας:

 Πληκτρολογήστε MobileBrands Όνομα ως String LaunchDate As Date Storage as Integer End Type 

Βήμα 5: Το επόμενο πράγμα είναι να ελέγξουμε τη χωρητικότητα RAM.

Κώδικας:

 Πληκτρολογήστε MobileBrands Name As String LaunchDate As Date Storage As RAM ως Integer End Type 

Βήμα 6: Επιτέλους ελέγχουμε την τιμή.

Κώδικας:

 Πληκτρολογήστε MobileBrands Name As String LaunchDate As Date Storage As Integer RAM As Integer Price As Long End Type 

Τώρα στην Υπο Διαδικασία δηλώνοντας τη μεταβλητή ως Όνομα Τύπου δηλαδή MobileBrands μπορούμε να έχουμε πρόσβαση σε όλους αυτούς τους τύπους μεταβλητών δεδομένων.

Βήμα 7: Δημιουργήστε μια υποδιαδικασία.

Κώδικας:

 Sub Type_Example1 () End Sub 

Βήμα 8: Τώρα δηλώστε τη μεταβλητή "Mobile" ως MobileBrnads.

Κώδικας:

 Sub Type_Example1 () Dim Mobile ως Mob End Sub 

Βήμα 9: Τώρα με το όνομα μεταβλητής "Mobile" μπορούμε να έχουμε πρόσβαση σε όλες τις μεταβλητές του "MobileBrands"

Κώδικας:

Βήμα 10: Τώρα αποθηκεύστε κάθε τιμή όπως παρακάτω.

Κώδικας:

 Πληκτρολογήστε MobileBrands Όνομα ως String LaunchDate As Date Storage As Integer RAM As Integer Price as Long End Type Sub Type_Example1 () Dim Mobile As MobileBrands Mobile.Name = "Redmi" Mobile.LaunchDate = "10-Jan-2019" Mobile.Storage = 62 Mobile.RAM = 6 Mobile.Price = 16500 MsgBox Mobile.Name & vbNewLine & Mobile.LaunchDate & vbNewLine & _ Mobile.Storage & vbNewLine & Mobile.RAM & vbNewLine & Mobile.Price End Sub Sub 

Τέλος, δείξτε το αποτέλεσμα σε ένα πλαίσιο μηνυμάτων VBA όπως το παρακάτω.

Κώδικας:

 Sub Type_Example1 () Dim Mobile As MobileBrands Mobile.Name = "Redmi" Mobile.LaunchDate = "10-Jan-2019" Mobile.Storage = 62 Mobile.RAM = 6 Mobile.Price = 16500 MsgBox Mobile.Name & vbNewLine & Mobile. LaunchDate & vbNewLine & _ Mobile. Αποθήκευση & vbNewLine & Mobile.RAM & vbNewLine & Mobile. Sub End End Price 

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

Έτσι, μπορούμε να χρησιμοποιήσουμε τη δήλωση "Τύπος VBA" για να ορίσουμε νέο τύπο δεδομένων στην υποδιαδικασία.

Τύποι VBA έναντι κλάσης VBA

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

  • Διαφορά 1: Ο τύπος VBA μπορεί να περιέχει μόνο δημόσιες μεταβλητές. Η τάξη VBA μπορεί να περιέχει τόσο δημόσιες όσο και ιδιωτικές μεταβλητές.
  • Διαφορά 2: Ο τύπος VBA δεν μπορεί να περιέχει Διαδικασίες και Λειτουργίες. Το VBA Class περιέχει και τα δύο μαζί με ιδιότητες.
  • Διαφορά 3: Ο τύπος VBA μπορεί να δηλωθεί σε οποιαδήποτε από τις ενότητες και διαδικασίες. Η τάξη VBA μπορεί να δηλωθεί μόνο σε ειδικές ενότητες τάξης.