VBA VarType

Αυτό το άρθρο θα δείξει τη χρήση της συνάρτησης 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)Τέλος υπο

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave