Λειτουργία VBA VARTYPE - Πώς να βρείτε τον τύπο δεδομένων της μεταβλητής;

Πίνακας περιεχομένων

Συνάρτηση Excel VBA VarType

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

Σύνταξη

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

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

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

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

Παράδειγμα # 1

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

Κώδικας:

Sub VarType_Example () Dim MyVar As String MyVar = "Hello" End Sub

Στο παραπάνω παράδειγμα, έχουμε δηλώσει τη μεταβλητή ως "String" και για αυτήν τη συμβολοσειρά, έχουμε αντιστοιχίσει την τιμή ως "Hello".

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

Κώδικας:

Sub VarType_Example () Dim MyVar MyVar = "Hello" End Sub

Στον παραπάνω κώδικα, δεν έχουμε εκχωρήσει κανέναν τύπο δεδομένων αλλά αμέσως εκχωρήσαμε την τιμή ως "Γεια", οπότε χρησιμοποιώντας τη συνάρτηση VarType, μπορούμε να βρούμε τον τύπο δεδομένων της μεταβλητής.

Ανοίξτε το MSGBOX σε κωδικοποίηση VBA στον παραπάνω κώδικα.

Στη συνέχεια, ανοίξτε τη συνάρτηση VarType.

Τώρα εισαγάγετε το όνομα της μεταβλητής ως το όρισμα της συνάρτησης VARTYPE.

Κώδικας:

Υπο VarType_Example () Dim MyVar MyVar = "Hello" MsgBox VarType (MyVar) End Sub

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

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

αξία Συνεχής Περιγραφή
0 vbEmpty Η μεταβλητή δεν έχει ακόμη αρχικοποιηθεί
1 vbNull Δεν έχουν εκχωρηθεί έγκυρα δεδομένα
2 vbInteger Η μεταβλητή τιμή είναι τύπος δεδομένων "Ακέραιος"
3 vbLong Η μεταβλητή τιμή είναι "Long" τύπος δεδομένων
4 vbSingle Η μεταβλητή τιμή είναι "Single" τύπος δεδομένων
5 vb Διπλό Η μεταβλητή τιμή είναι "Διπλός" τύπος δεδομένων
6 vb Νόμισμα Η μεταβλητή τιμή είναι τύπος δεδομένων "Νόμισμα"
7 vbΗμερομηνία Η μεταβλητή τιμή είναι τύπος δεδομένων "Ημερομηνία"
8 vbString Η μεταβλητή τιμή είναι "String" τύπος δεδομένων
9 vbObject Η μεταβλητή τιμή είναι τύπος δεδομένων "Object"
10 vb Σφάλμα Η μεταβλητή τιμή είναι τιμή σφάλματος
11 vbBoolean Η μεταβλητή τιμή είναι τύπος δεδομένων "Boolean"
12 vb Παραλλαγή Η μεταβλητή τιμή είναι τύπος δεδομένων "Παραλλαγή" (χρησιμοποιείται μόνο με πίνακες παραλλαγών)
13 vbDataObject Η μεταβλητή τιμή είναι το αντικείμενο πρόσβασης δεδομένων
14 vb Δεκαδικό Η μεταβλητή τιμή είναι "Δεκαδικός" τύπος δεδομένων
17 vbByte Η μεταβλητή τιμή είναι τύπος δεδομένων "Byte"
20 vbLongLong Η μεταβλητή τιμή είναι τύπος δεδομένων "LONG LONG" (ισχύει μόνο σε πλατφόρμες 64-bit)
36 vbUserDefinedType Η μεταβλητή τιμή είναι τύπος δεδομένων "Καθορισμένος από τον χρήστη"
8192 vbArray Η μεταβλητή τιμή είναι Array.

Εντάξει, τώρα ο κώδικας μας έχει επανασυνδέσει τον τύπο δεδομένων μεταβλητής ως 8, δηλαδή, το όνομα μεταβλητής "MyVar" περιέχει τον τύπο δεδομένων "String".

Παράδειγμα # 2

Τώρα, δείτε τον παρακάτω κώδικα.

Κώδικας:

Υπο VarType_Example2 () Dim MyVar Set MyVar = ThisWorkbook MsgBox VarType (MyVar) End Sub

Ας τρέξουμε αυτόν τον κώδικα και να δούμε ποιο είναι το αποτέλεσμα.

Το αποτέλεσμα είναι 9, δηλαδή, η μεταβλητή περιείχε τον τύπο δεδομένων "Object". Ναι, αυτό είναι σωστό επειδή, για τη μεταβλητή "MyVar", έχουμε ορίσει την αναφορά του βιβλίου εργασίας "Αυτό το βιβλίο εργασίας".

Παράδειγμα # 3

Τώρα, δείτε τον παρακάτω κώδικα.

Κώδικας:

Υπο VarType_Example3 () Dim MyVar MyVar = 32500 MsgBox VarType (MyVar) End Sub

Αυτό θα επιστρέψει το αποτέλεσμα ως 2.

Επειδή ο αριθμός 32500, που αντιστοιχεί στη μεταβλητή, είναι μια τιμή "Ακέραιος".

Τώρα θα αλλάξω την τιμή σε 40000 και θα δω το αποτέλεσμα.

Κώδικας:

Υπο VarType_Example4 () Dim MyVar MyVar = 40000 MsgBox VarType (MyVar) End Sub

Αυτό θα δώσει το αποτέλεσμα ως 3.

Επειδή η τιμή Integer λήγει στα 32767, οπότε οτιδήποτε παραπάνω θα αντιμετωπίζεται ως τύπος δεδομένων VBA LONG

Τώρα θα περικλείσω τον αριθμό σε διπλά εισαγωγικά

Κώδικας:

Υπο VarType_Example5 () Dim MyVar MyVar = "40000" MsgBox VarType (MyVar) End Sub

Εκτελέστε τον κωδικό και δείτε το αποτέλεσμα.

Έχουμε το αποτέλεσμα ως 8, δηλαδή, τύπου δεδομένων συμβολοσειράς.

Αυτό συμβαίνει επειδή οτιδήποτε παρέχεται στην παρένθεση θα αντιμετωπίζεται ως μεταβλητή String.

Πράγματα που πρέπει να θυμάστε

  • Το VARTYPE σημαίνει "Μεταβλητός τύπος".
  • Ο τύπος δεδομένων αντιπροσωπεύεται από μοναδικούς αριθμούς, οπότε ανατρέξτε στον πίνακα για να κατανοήσετε ποιος αριθμός αντιπροσωπεύει ποιον μεταβλητό τύπο δεδομένων.

ενδιαφέροντα άρθρα...