vba data types numeric
Αυτό το σεμινάριο εξηγεί διάφορους αριθμητικούς και μη αριθμητικούς τύπους δεδομένων που διατίθενται στο VBA. Θα μάθουμε επίσης για τις μετατροπές τύπων δεδομένων :
Αντιμετωπίζουμε πολλούς τύπους δεδομένων κάθε μέρα όπως όνομα, ημερομηνία, λογαριασμούς, τιμή ενός εμπορεύματος κ.λπ. Όλα αυτά τα δεδομένα ανήκουν σε έναν συγκεκριμένο τύπο και οι τιμές τους δεν μπορούν να διαφέρουν από τον τύπο που επισυνάπτεται. Ομοίως, το VBA διαθέτει πολλούς τύπους δεδομένων που χρησιμοποιούνται για την εκτέλεση της απαιτούμενης ενέργειας.
Σε αυτό το σεμινάριο, θα μάθουμε τους διαφορετικούς τύπους δεδομένων που χρησιμοποιούνται στο VBA και θα δούμε πώς θα βοηθήσουν στην οργάνωση του προγράμματός μας. Θα εξετάσουμε επίσης τη μετατροπή ενός τύπου δεδομένων σε έναν άλλο τύπο δεδομένων.
=> Δείτε όλα τα εκπαιδευτικά προγράμματα VBA εδώ
Τι θα μάθετε:
- Κατηγορίες τύπων δεδομένων
- συμπέρασμα
Κατηγορίες τύπων δεδομένων
Ο τύπος δεδομένων λέει στον υπολογιστή τον τύπο δεδομένων που πρέπει να αποθηκευτεί χρησιμοποιώντας μια μεταβλητή. Οι τύποι δεδομένων χωρίζονται σε 2 κατηγορίες, δηλαδή αριθμούς αριθμών και μη αριθμητικών δεδομένων
Αριθμητικοί τύποι δεδομένων
Αυτοί οι τύποι χρησιμοποιούνται για την εκτέλεση μαθηματικών λειτουργιών όπως Πρόσθεση, Αφαίρεση κ.λπ. Παράδειγμα, υπολογισμός ποσοστού, τιμή μετοχής, τέλη, λογαριασμοί, ηλικία κ.λπ.
Στο VBA υπάρχουν 7 τύποι αριθμητικών τύπων δεδομένων όπως αναφέρονται παρακάτω.
Αριθμητικός τύπος δεδομένων | |
---|---|
7 | Δεκαδικός |
1 | Ψηφιόλεξη |
δύο | Ακέραιος αριθμός |
3 | Μακρύς |
4 | Μονόκλινο |
5 | Διπλό |
6 | Νόμισμα |
Ας ρίξουμε μια σύντομη ματιά σε όλους τους αριθμητικούς τύπους δεδομένων.
# 1) Τύπος δεδομένων byte
Αυτός ο τύπος δεδομένων απαιτεί μόνο ένα byte μνήμης. Οι μεταβλητές με τύπο δεδομένων Byte μπορούν να αποθηκεύσουν τιμές από 0 έως 255. Η προεπιλεγμένη τιμή byte είναι 0. Δεν επιτρέπονται αρνητικές τιμές και τιμές μεγαλύτερες από 255. Σε περίπτωση που επιχειρήσετε να εκχωρήσετε μη έγκυρες τιμές, θα επιστραφεί ένα σφάλμα υπερχείλισης.
Σύνταξη: Dim Vname As Byte
Εδώ το όνομα είναι ένα όνομα μεταβλητής και το Byte είναι ο τύπος δεδομένων της μεταβλητής.
Παράδειγμα:
Sub ByteDTtest() Dim vname1 As Byte vname1 = 10 MsgBox 'Value of vname1 is : “ &vname1 End Sub
Η έξοδος δίνεται παρακάτω
# 2) Ακέραιος τύπος δεδομένων
Αυτοί οι τύποι δεδομένων χρησιμοποιούνται για την αποθήκευση ολόκληρης της ακέραιας τιμής. Αυτό καταλαμβάνει 2 byte μνήμης. Ένας ακέραιος αριθμός είναι ένας από τους τύπους δεδομένων που χρησιμοποιούνται συχνά. Δέχονται τόσο θετικές τιμές, αρνητικές τιμές όσο και μηδέν. Έχουν εύρος από -32.768 έως 32.767.
Σύνταξη: Το Dim ανάβει ως ακέραιος
Παράδειγμα:
Sub IntDTtest() Dim vname1, vname2 As Integer vname1 = 10 vname2 = -20 MsgBox 'Value of Integer variable is ' & vname1 & ' and ' & vname2 End Sub
Η έξοδος δίνεται παρακάτω
# 3) Μεγάλος τύπος δεδομένων
Αυτή είναι μια εναλλακτική λύση για έναν ακέραιο τύπο δεδομένων που αποθηκεύει επίσης μια ολόκληρη ακέραια τιμή. Ωστόσο, καταλαμβάνει περισσότερη μνήμη από μια ακέραια μεταβλητή που είναι 4 byte. Έχει ένα εύρος τιμών από -2.147.483.648 έως 2.147.483.648
Σύνταξη: Dim vname As Long
Sub IntDTtest() Dim vname1, vname2 As Integer vname1 = 10 vname2 = -20 MsgBox 'Value of Integer variable is ' & vname1 & ' and ' & vname2 End Sub
Εάν εκτελέσετε τον παραπάνω κώδικα με μια ακέραια μεταβλητή, θα λάβετε ένα σφάλμα υπερχείλισης επειδή υπάρχουν 1048576 σειρές στο Excel και ο τύπος δεδομένων Integer υποστηρίζει μόνο έως 32.767. Όπως φαίνεται παρακάτω όταν ο τύπος δεδομένων είναι μεγάλος, εμφανίζεται ένα κατάλληλο αποτέλεσμα.
Αλλά όταν ο τύπος δεδομένων είναι ακέραιος, τότε εμφανίζεται ένα σφάλμα υπερχείλισης.
# 4) Δεκαδικός τύπος δεδομένων
Αυτός είναι ένας ακριβής αριθμητικός τύπος δεδομένων που χρησιμοποιείται για την ακρίβειά του. Αυτός είναι ο συνολικός αριθμός των ψηφίων και ο αριθμός των ψηφίων στα δεξιά της υποδιαστολής που ονομάζεται συντελεστής κλιμάκωσης.
Στο VBA, οι αριθμοί κλιμακώνονται με ισχύ 10. Είναι σκόπιμο να χρησιμοποιήσετε αυτούς τους τύπους ενώ χειρίζεστε μεγάλους αριθμούς που χρειάζονται ακριβή τιμή. Αυτό καταλαμβάνει 14 byte στη μνήμη.
Αλλά οι μεταβλητές δεν μπορούν να δηλωθούν άμεσα ως δεκαδικός τύπος δεδομένων. Για να χρησιμοποιήσετε το Δεκαδικό, πρέπει να χρησιμοποιήσετε τη λειτουργία μετατροπής CDec. Πρέπει να χρησιμοποιήσετε έναν τύπο παραλλαγής δεδομένων.
Αυτός ο τύπος δεδομένων περιέχει το παρακάτω εύρος τιμών.
+/- 79,228,162,514,264,337,593,543,950,335 χωρίς δεκαδικό σημείο
+/- 7.9228162514264337593543950335 με 28 δεκαδικά ψηφία στα δεξιά της υποδιαστολής.
Η μικρότερη αποδεκτή μη μηδενική τιμή είναι +/- 0,0000000000000000000000000001.
Σύνταξη: Dim ign ign As παραλλαγή
Sub DecimalDataTypeTest() Dim DecValue As Variant DecValue = CDec(1000.4560323034) MsgBox 'Data type of Decvalue variable is : ' & TypeName(DecValue) & ' value ' & DecValue End Sub
Σημείωση: Η συνάρτηση TypeName θα δώσει το όνομα του τύπου δεδομένων
η προεπιλεγμένη πύλη δεν είναι διαθέσιμη συνεχώς
Παραγωγή:
# 5) Ενιαίος τύπος δεδομένων
Αυτός ο τύπος δεδομένων χρησιμοποιείται για την αποθήκευση αριθμών με κινούμενο σημείο μίας ακρίβειας. Καταλαμβάνει 4 byte μνήμης. Η προεπιλεγμένη τιμή είναι 0 και αποθηκεύει δεκαδικές τιμές. Μπορείτε να χρησιμοποιήσετε το θαυμαστικό (!) Ενώ δηλώνετε μια μεταβλητή όπως φαίνεται στην παρακάτω σύνταξη.
Το αποδεκτό εύρος τιμών είναι:
3.402823E38 έως -1.401298E-45 για αρνητικές τιμές
1.401298E-45 έως 3.402823E38 για θετικές τιμές.
Σύνταξη
Dim VariableName ως μονό
ή
Dim VariableName!
Sub SingleDataTypeTest() Dim SingleVal1 As Single Dim SingleVal2! SingleVal1 = 123 SingleVal2 = 333.44 MsgBox ('Data type of SingleVal1 is ' & TypeName(SingleVal1) & ' with value ' & SingleVal1 & ' and datatype of SingleVal2 is ' & TypeName(SingleVal2) & ' with value ' & SingleVal2) End Sub
# 6) Διπλός τύπος δεδομένων
Τα δεδομένα Double VBA μπορούν να χρησιμοποιηθούν για τη συγκράτηση ακέραιων και κλασμάτων. Το Double χρησιμοποιείται για την αποθήκευση αριθμών με πλωτό σημείο διπλής ακρίβειας. Καταλαμβάνει 8 byte μνήμης και έχει μια σειρά τιμών.
-1.79769313486231E308 έως -4.94065645841247E-324 για αρνητικές τιμές
4.94065645841247E-324 έως 1.79769313486232E308 για θετικές τιμές
Όπως και ένας τύπος δεδομένων, το διπλό μπορεί επίσης να δηλωθεί χρησιμοποιώντας ένα σύμβολο που είναι Hash (#) όπως φαίνεται παρακάτω.
Σύνταξη
Dim VariableName ως Διπλό
ή
Dim VariableName #
Sub DoubleDataTypeTest() Dim douValue As Double Dim douVal1# douValue = 100.21 douVal1 = 333.44 MsgBox ('Data type of douValue is ' & TypeName(douValue) & ' with value ' & douValue & ' and datatype of douVal1 is ' & TypeName(douVal1) & ' with value ' & douVal1) End Sub
# 7) Τύπος δεδομένων νομίσματος
Αυτός ο τύπος δεδομένων μπορεί να διαρκέσει έως και 8 byte μέγεθος αποθήκευσης. Αυτός ο τύπος δεδομένων δίνει ακριβή τιμή, σε αντίθεση με τους τύπους μονών και διπλών δεδομένων που συζητήσαμε ήδη είναι στρογγυλευμένοι. Αυτά είναι χρήσιμα για νομισματικούς υπολογισμούς.
Ο τύπος δεδομένων νομίσματος μπορεί να αποθηκεύσει τόσο θετικές όσο και αρνητικές τιμές. Αυτά μπορούν να αποθηκεύσουν 15 ψηφία στα αριστερά του δεκαδικού και 4 ψηφία στα δεξιά.
Το επιτρεπόμενο εύρος είναι -922.337.203.685.477.5808 έως 922.337.203.685.477.5807. Μπορείτε να χρησιμοποιήσετε το @ για να δηλώσετε τύπους δεδομένων νομίσματος.
Σύνταξη
Dim VariableName ως νόμισμα
ή
Dim VariableName @
Sub CurrencyDataTypeTest() Dim val1 As Currency Dim Val2@ val1 = 123 Val2 = 333.44 MsgBox ('Data type of Val1 is ' & TypeName(val1) &” with value “ &val1 & ' and datatype of Val2 is ' & TypeName(Val2) & “ with value “ &val2) End Sub
Παραγωγή:
Σημείωση :Εάν η τιμή της μεταβλητής υπερβαίνει το παρεχόμενο εύρος για έναν συγκεκριμένο τύπο δεδομένων, τότε θα εμφανιστεί σφάλμα υπερχείλισης.
Εξετάστε το απλό παράδειγμα του τύπου δεδομένων byte που υπερβαίνει το εύρος του. Το ίδιο σφάλμα θα εμφανιστεί εάν εισαγάγετε αρνητικές τιμές για τον τύπο δεδομένων byte.
πώς να συντάξετε αυτοματοποιημένα σενάρια δοκιμής
Μη αριθμητικοί τύποι δεδομένων
Αυτά είναι δεδομένα που δεν μπορούν να χειριστούν οι αριθμητικοί τελεστές. Περιλαμβάνουν κείμενο, συμβολοσειρά, ημερομηνία, κ.λπ. Παρακάτω δίνονται οι μη αριθμητικοί τύποι δεδομένων που υποστηρίζονται στο VBA.
Μη αριθμητικός τύπος δεδομένων | |
---|---|
7 | Παραλλαγή (Χαρακτήρες) |
1 | Συμβολοσειρά (Σταθερό μήκος) |
δύο | Συμβολοσειρά (μεταβλητό μήκος) |
3 | Ημερομηνία |
4 | Boolean |
5 | Αντικείμενο |
6 | Παραλλαγή (Αριθμοί) |
# 1) Boolean Τύπος δεδομένων
Αυτός ο τύπος δεδομένων απαιτεί 2 byte μνήμης και μπορεί να αποθηκεύσει μόνο 2 τιμές, δηλαδή TRUE ή FALSE. Με άλλα λόγια, η μεταβλητή Boolean μπορεί να πάρει μόνο τιμή TRUE ή FALSE, εναλλακτικά 1 ή 0 αντίστοιχα. Η προεπιλεγμένη τιμή μιας μεταβλητής Boolean είναι False.
Σύνταξη - Dim Vname As Boolean
Παράδειγμα:
Sub BooleanDataTypeTest() Dim bval1 As Boolean MsgBox ('datatype of variable bval1 is :' & TypeName(bval1) & ' default value of boolean varible is ' & bval1) End Sub
# 2) Τύπος δεδομένων ημερομηνίας
Αυτός ο τύπος δεδομένων χρησιμοποιείται για την αναπαράσταση της ημερομηνίας και της ώρας. Έχει τιμές εύρους ημερομηνιών από 1 Ιανουαρίου 0100 έως 31 Δεκεμβρίου 9999 και τιμές χρόνου από 0:00:00 έως 23:59:59 και καταλαμβάνει 8 byte μέγεθος αποθήκευσης.
Σύνταξη: Το Dim ανάβει ως ημερομηνία
Sub DateDataTypeTest() Dim datetime As Date datetime = Now MsgBox 'Current date and time is ' & datetime End Sub
Σημείωση: Η συνάρτηση Now δίνει την τρέχουσα ημερομηνία και ώρα
# 3) Τύπος δεδομένων συμβολοσειράς
Αυτός ο τύπος δεδομένων χρησιμοποιείται για την αποθήκευση της τιμής συμβολοσειράς. Η συμβολοσειρά ορίζεται ως μια ακολουθία χαρακτήρων. Έτσι, μπορείτε να χρησιμοποιήσετε τον τύπο δεδομένων συμβολοσειράς για την αποθήκευση κειμένου και μπορεί να χρησιμοποιηθεί για την αποθήκευση αριθμών, ειδικών χαρακτήρων, θέσεων και χώρων συμβάντων. Μια τιμή συμβολοσειράς πρέπει να ενσωματωθεί σε ένα διπλό εισαγωγικό ''.
Υπάρχουν 2 τύποι δεδομένων τύπου String.
# 1) Συμβολοσειρά μεταβλητού μήκους: Αυτός ο τύπος καταλαμβάνει 10 byte μέγεθος αποθήκευσης συν τη μνήμη που απαιτείται για τη συμβολοσειρά που είναι το μήκος της συμβολοσειράς. Έχουν εύρος τιμών από 0 έως περίπου 2 δισεκατομμύρια.
# 2) Συμβολοσειρά σταθερού μήκους: Καταλαμβάνει τη μνήμη ίση με το μήκος της ίδιας της συμβολοσειράς. Μπορεί να κυμαίνεται από 1 έως περίπου 65.400 χαρακτήρες
Σύνταξη: Dim Vname ως συμβολοσειρά
Παράδειγμα:
Sub StringDataTypeTest() Dim sVal1 As String sVal1 = 'Text1234#$@ and Spaces:)' MsgBox 'I can accept anything ' & sVal1 End Sub
# 4) Τύπος δεδομένων αντικειμένου
Το αντικείμενο θα έχει μια αναφορά σε ένα αντικείμενο οποιουδήποτε τύπου, δηλαδή ο τύπος δεδομένων αντικειμένου μπορεί να δείχνει σε οποιονδήποτε τύπο δεδομένων όπως συμβολοσειρά, διπλό, ακέραιο, κ.λπ. αποθηκευμένο. Καταλαμβάνει 4 byte μνήμης υπολογιστή. Η προεπιλεγμένη τιμή ενός αντικειμένου είναι μηδενική αναφορά.
Σύνταξη: Dim VName ως αντικείμενο
Παράδειγμα:
Sub ObjectDataTypeTest() Dim wsActiveSheet As Object Set wsActiveSheet = ActiveSheet wsActiveSheet.UsedRange.Clear End Sub
Αυτό θα διαγράψει όλα τα χρησιμοποιημένα κελιά στο τρέχον φύλλο.
# 5) Παραλλαγή τύπου δεδομένων
Αυτός είναι ο γενικός τύπος δεδομένων της VBA, μπορεί να δεχτεί οποιοδήποτε είδος δεδομένων αριθμητικό και μη αριθμητικό. Ο τύπος δεδομένων παραλλαγής δίνει μεγαλύτερη ευελιξία ενώ εργάζεστε με δεδομένα. Ο τύπος δεδομένων παραλλαγής χρησιμοποιεί περισσότερο μέγεθος αποθήκευσης από οποιονδήποτε άλλο τύπο δεδομένων. Εάν δεν αναφέρετε έναν τύπο δεδομένων, το VBA θα το αντιμετωπίσει ως μεταβλητή παραλλαγής.
Υπάρχουν 2 τύποι παραλλαγών τύπων δεδομένων
# 1) Παραλλαγή (αριθμοί): Αυτό μπορεί να περιέχει οποιαδήποτε αριθμητική τιμή έως το εύρος του Double. Οι αριθμοί παραλλαγής καταλαμβάνουν 16 byte μεγέθους αποθήκευσης.
# 2) Παραλλαγή (χαρακτήρες): Αυτό μπορεί να περιέχει το ίδιο εύρος με το String μεταβλητού μήκους. Οι παραλλαγές χαρακτήρων καταλαμβάνουν 22 byte + μήκος συμβολοσειράς (24 bytes σε συστήματα 64-bit)
Σύνταξη
Dim V Όνομα ως παραλλαγή
ή
Αχνό όνομα V
Παράδειγμα:
Sub VariantDataTypeTest() Dim EmpName As Variant Dim DOB Dim Salary As Variant EmpName = 'Jofn kim' DOB = #10/3/2020# Salary = 55000 MsgBox EmpName & ' ' & DOB & ' ' & Salary End Sub
Μετατροπή τύπου δεδομένων
Μερικές φορές είναι απαραίτητο να μετατρέψετε τον τύπο δεδομένων μιας μεταβλητής σε κάτι συγκεκριμένο στην περίπτωση χρήσης μας.
Παράδειγμα: Ανακτάτε μια τιμή από ένα κελί, το οποίο είναι συνήθως μια συμβολοσειρά, και ως εκ τούτου πρέπει να τη μετατρέψετε σε έναν αριθμητικό τύπο δεδομένων πριν εκτελέσετε οποιαδήποτε αριθμητική λειτουργία. Για να επιτευχθεί αυτό το VBA έχει συναρτήσεις μετατροπής τύπου για όλους τους υποστηριζόμενους τύπους δεδομένων.
# 1) CBool
Αυτή η συνάρτηση χρησιμοποιείται για τη μετατροπή μιας έκφρασης σε τύπο δεδομένων Boolean. Εάν η έκφραση επιστρέψει μηδέν τότε το CBool θα επιστρέψει False, οποιαδήποτε μη μηδενική τιμή, το CBool επιστρέφει True.
Sub CBooleanTest() Dim val1 As Integer Dim strval2 As String val1 = 0 MsgBox CBool(val1) val1 = 177 MsgBox CBool(val1) strval2 = 'A' MsgBox CBool(strval2 = 'B') MsgBox CBool(strval2 'B') End Sub
Ο παραπάνω κώδικας θα εμφανίσει αποτελέσματα ως False, True, False, True.
Μπορείτε να δοκιμάσετε τον εαυτό σας, να σχεδιάσετε ένα κουμπί εντολής ελέγχου ActiveX, Κάντε δεξί κλικ -> Προβολή κώδικα και εισαγάγετε τον παραπάνω κωδικό. Κάντε κλικ στο κουμπί Command και θα εμφανιστεί το αποτέλεσμα. (Απενεργοποίηση της λειτουργίας σχεδίασης)
Παραγωγή
# 2) CByte
Αυτή η συνάρτηση χρησιμοποιείται για τη μετατροπή μιας έκφρασης σε τύπο δεδομένων Byte. Θυμηθείτε μετά τη μετατροπή εάν το εύρος υπερβαίνει το επιτρεπόμενο εύρος για το Byte, τότε θα εμφανιστεί ένα σφάλμα υπερχείλισης.
Sub cbyteTest() Dim val1 As Double Dim val2 val1 = 125.5678 val2 = CByte(val1) MsgBox ('DataType is ' & TypeName(val2) & ' and value of val2 is ' & val2) End Sub
Σημείωση: Εάν δώσετε την τιμή ως 255,56. Το πρόγραμμα πληροφόρησης θα επιστρέψει σφάλμα υπερχείλισης
# 3) CCur
Αυτή η συνάρτηση θα μετατρέψει μια έκφραση σε έναν τύπο δεδομένων νομίσματος.
Sub ccurTest() Dim val1 As Integer Dim val2 val1 = 5544 val2 = CCur(val1 / 5) MsgBox ('DataType is ' & TypeName(val2) & ' and value of val2 is ' & val2) End Sub
# 4) CDate
Αυτή η συνάρτηση θα μετατρέψει μια συμβολοσειρά σε ημερομηνία. Ας υποθέσουμε ότι ανακτάτε την τιμή ημερομηνίας ως συμβολοσειρά από ένα κελί excel και, στη συνέχεια, πρέπει να τη μετατρέψετε πριν εκτελέσετε οποιαδήποτε περαιτέρω ενέργεια. Μπορείτε να χρησιμοποιήσετε το CDate.
Sub CDateTest() Dim val1, val2, val3 As String Dim Res1, Res2, Res3 val1 = '12:21' val2 = '23/09 12:12' val3 = 'Sep 23, 2020' Res1 = CDate(val1) Res2 = CDate(val2) Res3 = CDate(val3) MsgBox 'Date of val1 is : ' & Res1 & ' Date of val2 is : ' & Res2 & ' Date of val3 is ' & Res3 End Sub
# 5) CDbl
Η συνάρτηση CDbl χρησιμοποιείται για τη μετατροπή μιας έκφρασης σε διπλό τύπο δεδομένων.
Sub CDblTest() Dim val1 As String Dim val2 As Integer Dim Res1 val1 = 10000.12345 val2 = 1222.222 Res1 = CDbl(val1) Res2 = CDbl(val2) MsgBox 'Double value after converting String : ' & Res1 & ' Double value after converting Integer : ' & Res2 End Sub
# 6) CDec
Αυτή η συνάρτηση θα μετατρέψει μια αριθμητική τιμή σε δεκαδική.
καλές ιστοσελίδες anime για να παρακολουθήσετε δωρεάν anime
Sub CDecTest() Dim Val1 As Currency Dim Result Val1 = 1234566.56366 Result = CDec(Val1) ‘Result is 1234566.5637 MsgBox 'Decimal Data Type Value : ' & Result End Sub
# 7) CInt
Η συνάρτηση CInt θα μετατρέψει μια τιμή σε έναν τύπο ακέραιου δεδομένων.
Sub CintTest() Dim Val1 As Double Dim Result Val1 = 2345.5678 Result = CInt(Val1) 'Result is 2346 MsgBox 'Integer value of converting is : ' & Result & ' and datatype of Result is ' & TypeName(Result) End Sub
# 8) CLng
Αυτή η συνάρτηση χρησιμοποιείται για τη μετατροπή μιας τιμής σε έναν μακρύ τύπο δεδομένων
Sub cLngTest() Dim Val1, Val2 As Double Dim Res1, Res2 Val1 = 45457.35 Val2 = 45457.65 Res1 = CLng(Val1) Res2 = CLng(Val2) MsgBox 'Result after converting Res1 is ' & Res1 & ' and Res2 value is ' & Res2 End Sub
# 9) CSng
Αυτή η συνάρτηση θα μετατρέψει μια τιμή σε έναν τύπο δεδομένων
Sub cSngTest() Dim Val1, Val2 As Double Dim Res1, Res2 Val1 = 75.3421115 Val2 = 75.3421555 Res1 = CSng(Val1) ' Result is 75.34211. Res2 = CSng(Val2) ' Result is 75.34216. MsgBox 'Result after converting Res1 is ' & Res1 & ' and Res2 value is ' & Res2 End Sub
# 10) CStr
Αυτή η συνάρτηση χρησιμοποιείται για να μετατρέψει μια αριθμητική τιμή σε έναν τύπο δεδομένων συμβολοσειράς.
Sub CStrTest() Dim Val1 As Double Dim Result Val1 = 123.123 Result = CStr(Val1) 'Result will be 123.123 MsgBox 'Result of Val1 is ' & Val1 End Sub
# 11) CVar
Αυτή η συνάρτηση θα μετατρέψει μια παράσταση σε έναν τύπο δεδομένων παραλλαγής.
Sub CVarTest() Dim Val1 As Integer Dim Result Val1 = 1234 Result = CVar(Val1 & 1.12) ' Result will be 12341.12 MsgBox 'Result is ' & Result End Sub
Συχνές Ερωτήσεις
Q # 1) Ποιος είναι ο προεπιλεγμένος τύπος δεδομένων στο VBA;
Απάντηση: Η παραλλαγή είναι η προεπιλεγμένη. Εάν δεν ορίσετε έναν τύπο δεδομένων μιας μεταβλητής, τότε το VBA το αντιμετωπίζει ως μεταβλητή / αντικείμενο παραλλαγής.
Q # 2) Τι είναι το σφάλμα αναντιστοιχίας τύπου;
Απάντηση: Αυτό το σφάλμα θα προκληθεί όταν δηλώνετε μια μεταβλητή ως έναν τύπο δεδομένων και εκχωρείτε μια ακατάλληλη τιμή.
Παράδειγμα: Δηλώστε μια μεταβλητή ως ακέραιο και εισαγάγετε μια τιμή κειμένου.
Q # 3) Πώς μπορώ να διορθώσω ένα σφάλμα υπερχείλισης;
Απάντηση: Πρέπει να αναφερθείτε στο εύρος που επιτρέπεται συγκεκριμένος τύπος δεδομένων και να βεβαιωθείτε ότι εισαγάγετε μια τιμή εντός του επιτρεπόμενου εύρους.
Παράδειγμα: Το byte επιτρέπει μόνο 0 έως 255, εάν εισαγάγετε οποιαδήποτε αρνητική τιμή ή τιμή v μεγαλύτερη από 255, τότε αντιμετωπίζετε σφάλμα υπερχείλισης.
συμπέρασμα
Σε αυτό το σεμινάριο, μάθαμε για τύπους δεδομένων VBA, δηλαδή 7 αριθμητικούς και 7 μη αριθμητικούς τύπους δεδομένων. Συζητήσαμε επίσης πώς να μετατρέψετε έναν τύπο δεδομένων από έναν τύπο σε έναν άλλο με παραδείγματα.
=> Δείτε εδώ για να δείτε A-Z Of VBA Training Tutorials
Συνιστώμενη ανάγνωση
- Tutorial Excel VBA - Εισαγωγή στο VBA στο Excel
- Τύποι δεδομένων C ++
- Τύποι δεδομένων Python
- C # Τύποι δεδομένων και μεταβλητές με παραδείγματα
- C # Τύπος μετάδοσης: Άμεση & έμμεση μετατροπή δεδομένων με παράδειγμα
- Τύποι δεδομένων Array - int Array, Double array, Array of Strings κ.λπ.
- Τύποι δεδομένων MySQL | Ποιοι είναι οι διαφορετικοί τύποι δεδομένων στο MySQL