Τύπος δεδομένων VBA
Ο τύπος δεδομένων είναι ο βασικός χαρακτήρας οποιασδήποτε μεταβλητής, αντιπροσωπεύει τον τύπο τιμής που μπορούμε να αποθηκεύσουμε στη μεταβλητή και ποιο είναι το όριο ή το εύρος τιμών που μπορούν να αποθηκευτούν στη μεταβλητή, οι τύποι δεδομένων είναι ενσωματωμένοι VBA και Ο χρήστης ή ο προγραμματιστής πρέπει να γνωρίζει ποιος τύπος τιμής μπορεί να αποθηκευτεί σε ποιον τύπο δεδομένων. Οι τύποι δεδομένων που εκχωρούνται σε μεταβλητές ενημερώνουν το μέγεθος αποθήκευσης του μεταγλωττιστή της μεταβλητής.
Στο VBA, έχουμε δύο τύπους τύπων δεδομένων, δηλαδή αριθμητικούς και μη αριθμητικούς.
Πριν ορίσουμε οποιονδήποτε τύπο δεδομένων, πρώτα, πρέπει να δηλώσουμε το όνομα της μεταβλητής. Η μεταβλητή είναι ένα όνομα που διατηρεί την τιμή μέσω του εκχωρημένου τύπου δεδομένων. Δίνοντας ένα όνομα στη μεταβλητή, πρέπει να έχουμε κατά νου μερικά πράγματα.
Μπορούμε να ορίσουμε τη μεταβλητή με δύο τρόπους. Το ένα είναι "Σιωπηρά" και το άλλο είναι "ρητά".
- Ο σιωπηρός τρόπος καθορισμού μιας μεταβλητής είναι χωρίς τη χρήση της λέξης "DIM" και του τύπου δεδομένων σε αυτήν. Για παράδειγμα, το MyValue = 500 είναι ο σιωπηρός τρόπος δήλωσης μιας μεταβλητής.
- Ένας σαφής τρόπος καθορισμού μιας μεταβλητής είναι με τη λέξη "DIM" και τον τύπο δεδομένων που σχετίζεται με αυτήν. Για παράδειγμα, Dim MyValue ως ακέραιος .

Κορυφαίοι 2 τύποι τύπων δεδομένων
Για να αντιστοιχίσουμε πρώτα τον τύπο δεδομένων στη μεταβλητή, πρέπει να κατανοήσουμε τους τύπους τύπων δεδομένων. Για να κατανοήσουμε καλύτερα, μπορούμε να κατηγοριοποιήσουμε σε δύο πλάκες.
# 1 - Τύποι αριθμητικών δεδομένων
Αυτά μπορούν να περιέχουν μόνο αριθμητικές τιμές. Οι πιο συνηθισμένοι τύποι αριθμητικών δεδομένων είναι Byte, Integer, Long, Single, Double, Currency και Decimal.
Κάθε τύπος δεδομένων μπορεί να διατηρεί τις αντίστοιχες τιμές του. Ακολουθεί μια λεπτομερής εξήγηση.
- Ένα byte μπορεί να διατηρήσει τις τιμές από 0 έως 255. Δεν μπορεί να κρατήσει τίποτα περισσότερο από 255.
- Ο ακέραιος μπορεί να διατηρεί τιμές από -32768 έως 32768. Δεν μπορεί να διατηρήσει δεκαδικά ψηφία.
- Οι τιμές Long μπορούν να κρατήσουν από -2.147.483.648 έως 2.147.483.648.
- Ο μοναδικός τύπος δεδομένων μπορεί να διατηρεί τιμές μόνο έως 7 ψηφία, για παράδειγμα 1234567, 1,245564.
- Ο διπλός τύπος δεδομένων μπορεί να περιέχει τιμές έως και 15 ψηφία. Είναι απλώς η επέκταση του τύπου δεδομένων Single.
- Ο τύπος δεδομένων νομίσματος μπορεί να περιέχει 15 ψηφία πριν από την δεκαδική τιμή και 4 ψηφία μετά την δεκαδική τιμή.
- Ο δεκαδικός τύπος δεδομένων μπορεί να χωρέσει έως και 28 δεκαδικά ψηφία. Εάν θέλετε να αποθηκεύσετε οτιδήποτε περισσότερο από 15 δεκαδικά ψηφία, μπορείτε να χρησιμοποιήσετε αυτόν τον τύπο δεδομένων.
# 2 - Τύποι μη αριθμητικών δεδομένων
Αυτοί οι τύποι δεδομένων μπορούν να περιέχουν τιμές οτιδήποτε άλλο εκτός από αριθμητικές τιμές. Οι πιο συχνά χρησιμοποιούμενοι μη αριθμητικοί τύποι δεδομένων είναι παραλλαγές , συμβολοσειρές, δυαδικοί χαρακτήρες, ημερομηνία, αντικείμενο.
- Συμβολοσειρά: Υπάρχουν δύο τύποι τύπων δεδομένων συμβολοσειρών. Ένα που μπορεί να κρατήσει αριθμητικά δεδομένα και ένα άλλο που μπορεί να κρατά μη αριθμητικά δεδομένα.
- Το σταθερό μήκος συμβολοσειράς μπορεί να περιέχει χαρακτήρες από 1 έως 65400 χαρακτήρες.
- Το String Variable-length μπορεί να περιέχει χαρακτήρες από 0 έως 2 δισεκατομμύρια χαρακτήρες.
- Το Boolean μπορεί να διατηρήσει λογικές τιμές αποτελεσμάτων, δηλαδή, TRUE ή FALSE.
- Μια ημερομηνία μπορεί να περιέχει μόνο τιμές ημερομηνίας από 1 Ιανουαρίου 100 έως 31 Δεκεμβρίου 9999
- Αντικείμενο που μπορεί να κρατήσει μόνο αντικείμενα του προϊόντος της Microsoft. Για παράδειγμα, φύλλο εργασίας, βιβλίο εργασίας, εύρος, PowerPoint, Word.
- Μια παραλλαγή έχει επίσης δύο τύπους δεδομένων, δηλαδή, Κείμενο και Αριθμητικό.
- Το Variant Text μπορεί να διατηρήσει τιμές κειμένου ίδιες με τη μεταβλητή String Variable length.
- Το Variant Numeric μπορεί να διατηρήσει αριθμητικές τιμές ίδιες με τον τύπο δεδομένων Double.
Παραδείγματα χρήσης διαφόρων τύπων δεδομένων VBA
Για παράδειγμα, για να αντιστοιχίσουμε πρώτα έναν τύπο δεδομένων, πρέπει να δηλώσουμε μια μεταβλητή χρησιμοποιώντας τη λέξη " Dim."
Κώδικας:
Υπο DT_ Παράδειγμα1 () Dim k End Sub
Τώρα χρησιμοποιώντας τη λέξη "Ως", πρέπει να αντιστοιχίσουμε τον τύπο δεδομένων. Τώρα θα εκχωρήσω τον τύπο δεδομένων ως " Byte".
Κώδικας:
Υπο DT_Example1 () Dim k As Byte End Sub
Όπως γνωρίζουμε, ο τύπος δεδομένων Byte μπορεί να διατηρήσει τις τιμές από 0 έως 255. Αλλά για δοκιμή, θα εκχωρήσω μια τιμή μεγαλύτερη από 255.
Κώδικας:
Υπο DT_ Παράδειγμα1 () Dim k As Byte k = 260 End Sub
Τώρα, εάν εκτελέσω αυτόν τον κωδικό, θα λάβουμε το σφάλμα ως "Over Flow".

Ομοίως, άλλοι τύποι δεδομένων μπορούν επίσης να διατηρούν τιμές σύμφωνα με τα όριά τους.
Τώρα ρίξτε μια ματιά στον παρακάτω κώδικα.
Κώδικας:
Sub DT_Example2 () Dim k As Boolean k = 100 MsgBox k End Sub
Ο τύπος δεδομένων έχει αντιστοιχιστεί ως "Boolean", το οποίο κρατά είτε TRUE είτε FALSE Αλλά έχω εκχωρήσει την τιμή ως "100" στη μεταβλητή "k".
Εκτελέστε αυτόν τον κωδικό και δείτε τι συμβαίνει.

Έχουμε το αποτέλεσμα ως " True".
Ο λόγος για τον οποίο πήραμε ΑΛΗΘΕΙΑ επειδή το Excel αντιμετωπίζει οτιδήποτε περισσότερο από 0 ως Αληθινό και αντιμετωπίζει το 0 ως ΛΑΘΟΣ.
Τώρα θα εκχωρήσω μη αριθμητική τιμή και θα δω τι θα συμβεί.

Παρουσιάστηκε το σφάλμα επειδή το "Boolean" δεν μπορεί να δεχτεί τιμές κειμένου εκτός από TRUE ή FALSE.