Αυτό το άρθρο θα δείξει τη χρήση της συνάρτησης VarType στο VBA.
VarType σημαίνει Τύπος μεταβλητής. Μπορούμε να δώσουμε το όνομα της μεταβλητής στη συνάρτηση VarType και θα επιστρέψει έναν ακέραιο που απεικονίζει τον τύπο των δεδομένων που είναι αποθηκευμένα σε αυτήν τη μεταβλητή σύμφωνα με μια λίστα σταθερών VBA.
Χρησιμοποιώντας μια μεταβλητή παραλλαγής για να βρείτε το VarType
Μπορούμε να δηλώσουμε μια μεταβλητή ως μεταβλητή παραλλαγής. Αυτό θα μας επιτρέψει να αποθηκεύσουμε οποιοδήποτε τύπο επιτρεπόμενων δεδομένων σε αυτό. Στη συνέχεια, μπορούμε να συμπληρώσουμε αυτήν τη μεταβλητή και να χρησιμοποιήσουμε τη συνάρτηση VarType για να δούμε τι είδους δεδομένα είναι στη μεταβλητή.
Για παράδειγμα:
12345 | Sub TestVarType ()Dim MyVariable As VariantMyVariable = "Hello World"MsgBox "Ο τύπος της μεταβλητής είναι" & VarType (MyVariable)Τέλος υπο |
Αυτό θα επιστρέψει το ακόλουθο πλαίσιο μηνυμάτων:
Επομένως επιστρέφεται η τιμή 8. Αυτό σε μια σταθερά του Excel που ορίζει τον τύπο των δεδομένων που είναι αποθηκευμένα στη μεταβλητή.
Αυτή η σταθερή τιμή αντιστοιχεί στον παρακάτω πίνακα:
Συνεχής | αξία | Περιγραφή |
---|---|---|
vbΚενό | 0 | Άδειο (μη αρχικοποιημένο) |
vbNull | 1 | Null (δεν υπάρχουν έγκυρα δεδομένα) |
vbInteger | 2 | Ακέραιος αριθμός |
vbLong | 3 | Μακρύς ακέραιος |
vbSingle | 4 | Αριθμός κυμαινόμενου σημείου μίας ακριβείας |
vbDouble | 5 | Αριθμός κυμαινόμενου σημείου διπλής ακρίβειας |
vb Νόμισμα | 6 | Νομισματική αξία |
vbDate | 7 | Τιμή ημερομηνίας |
vbString | 8 | Σειρά |
vbObject | 9 | Αντικείμενο |
vbError | 10 | Τιμή σφάλματος |
vbBoolean | 11 | Boolean value |
vbVariant | 12 | Παραλαγή (χρησιμοποιείται μόνο με συστοιχίες παραλλαγών) |
vbDataObject | 13 | Ένα αντικείμενο πρόσβασης δεδομένων |
vbDecimal | 14 | Δεκαδική αξία |
vbByte | 17 | Τιμή byte |
vbLongLong | 20 | Ακέραιος LongLong (ισχύει μόνο για πλατφόρμες 64-bit) |
vbUserDefinedType | 36 | Παραλλαγές που περιέχουν τύπους που καθορίζονται από το χρήστη |
vbArray | 8192 | Πίνακας (προστίθεται πάντα σε άλλη σταθερά όταν επιστρέφεται από αυτήν τη συνάρτηση) |
Μπορούμε να δοκιμάσουμε ένα άλλο παράδειγμα:
12345 | Sub TestVarType ()Dim MyVariable As VariantMyVariable = 32760MsgBox "Ο τύπος της μεταβλητής είναι" & VarType (MyVariable)Τέλος υπο |
Αυτή τη φορά το πλαίσιο μηνυμάτων θα επιστρέψει ένα 2 καθώς ο τύπος δεδομένων που αποθηκεύονται στη μεταβλητή είναι Ακέραιος.
Ωστόσο, αν αλλάξουμε την τιμή σε 32780, τότε η απόδοση της τιμής θα είναι 3 - Ο ακέραιος ακέραιος ως ακέραιος τύπος δεδομένων έχει μέγιστη τιμή 32767. μετά το οποίο είναι ένας Μακρύς Ακέραιος.
Εάν επρόκειτο να τροποποιήσουμε για άλλη μια φορά τον κώδικα:
12345 | Sub TestVarType ()Dim MyVariable As VariantMyVariable = 32760.52MsgBox "Ο τύπος της μεταβλητής είναι" & VarType (MyVariable)Τέλος υπο |
Θα λάβουμε τώρα μια τιμή 5 που επιστρέφεται - ο τύπος δεδομένων είναι Διπλός λόγω των δεκαδικών ψηφίων.
Αν θέσουμε την τιμή της μεταβλητής σε εισαγωγικά, τότε για άλλη μια φορά θα επιστρέψει ένα 8 καθώς οποιαδήποτε τιμή που περιέχεται στα εισαγωγικά αποθηκεύεται ως τιμή συμβολοσειράς.
12345 | Sub TestVarType ()Dim MyVariable As VariantMyVariable = "32760.52"MsgBox "Ο τύπος της μεταβλητής είναι" & VarType (MyVariable)Τέλος υπο |