Τύπος δεδομένων VBA Int / Integer (Dim Variable)

Ακέραιος (Int) Μεταβλητός τύπος

Το VBA Int ο τύπος δεδομένων χρησιμοποιείται για την αποθήκευση ακέραιων αριθμών (χωρίς δεκαδικές τιμές). Ωστόσο, όπως θα δούμε παρακάτω, οι ακέραιες τιμές πρέπει να εμπίπτουν στην περιοχή 2732768 έως 32768.

Για να δηλώσετε μια μεταβλητή Int, χρησιμοποιείτε τη δήλωση Dim (συντομογραφία για Dimension):

1 Dim intA ως ακέραιος

Στη συνέχεια, για να εκχωρήσετε μια τιμή σε μια μεταβλητή, χρησιμοποιήστε απλά το πρόσημο ίσου:

1 intA = 30000

Βάζοντας αυτό σε μια διαδικασία μοιάζει με αυτό:

12345678 Sub IntExample ()"δηλώνω τον ακέραιοDim intA ως ακέραιος"συμπληρώστε τον ακέραιοintA = 30000"εμφάνιση του πλαισίου μηνυμάτωνMsgBox intAΤέλος υπο

Εάν εκτελέσετε τον παραπάνω κώδικα, θα εμφανιστεί το ακόλουθο πλαίσιο μηνυμάτων.

Τύπος μακράς μεταβλητής

Όπως προαναφέρθηκε, οι μεταβλητές Int μπορούν να αποθηκεύσουν τιμές μόνο μεταξύ 2732768 έως 32768. Εάν επιχειρήσετε να εκχωρήσετε μια τιμή εκτός αυτού του εύρους σε μια μεταβλητή Int, θα λάβετε ένα σφάλμα:

Όταν κάνετε κλικ στο de-bug, ο κώδικας θα σπάσει στο «Συμπληρώστε την ακέραια γραμμή ως ακέραιος αριθμός δεν μπορεί να αποθηκεύσει έναν αριθμό έως 50000.

Αντ 'αυτού, μπορείτε να δηλώσετε μια μεταβλητή με το Μακρύς Τύπος δεδομένων:

1 Dim longA as Long

Οι Long Variables μπορούν να αποθηκεύσουν πολύ μεγάλους τύπους δεδομένων (-2,147,483,648 έως 2,147,483,648).

<>

Γιατί θα χρησιμοποιούσατε μεταβλητές Int αντί μεταβλητές Long;

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

Σας συνιστούμε να χρησιμοποιείτε πάντα μεγάλες μεταβλητές αντί για μεταβλητές Int. Θα συνεχίσουμε αυτό το σεμινάριο συζητώντας μεταβλητές Int, αλλά λάβετε υπόψη ότι μπορείτε να χρησιμοποιήσετε τον τύπο Long μεταβλητής.

Δεκαδικές τιμές & Τύποι δεδομένων Int

Οι μεταβλητές Int δεν μπορούν να αποθηκεύσουν δεκαδικές τιμές. Εάν περάσετε έναν δεκαδικό αριθμό έναν ακέραιο, ο δεκαδικός αριθμός θα στρογγυλοποιηθεί για να αφαιρεθεί το δεκαδικό.

Επομένως, εάν εκτελούσατε την παρακάτω διαδικασία:

12345678 Υπο IntExampleB ()"δηλώνω τον ακέραιοDim intA ως ακέραιος"συμπληρώστε τον ακέραιοintA = 3524,12"εμφάνιση του πλαισίου μηνυμάτωνMsgBox intAΤέλος υπο

Θα έχετε το ακόλουθο αποτέλεσμα (στρογγυλοποίηση προς τα κάτω):

Ωστόσο, αυτός ο κωδικός παρακάτω:

12345678 Υπο IntExampleB ()"δηλώνω τον ακέραιοDim intA ως ακέραιος"συμπληρώστε τον ακέραιοintA = 3524,52"εμφάνιση του πλαισίου μηνυμάτωνMsgBox intAΤέλος υπο

Θα επιστρέψει το ακόλουθο πλαίσιο μηνυμάτων (στρογγυλοποίηση):

Δεκαδικός / Διπλός τύπος δεδομένων

Εάν θέλετε να αποθηκεύσετε ένα δεκαδικό ψηφίο, θα πρέπει να δηλώσετε μια μεταβλητή που επιτρέπει δεκαδικά ψηφία. Υπάρχουν 3 τύποι δεδομένων που μπορείτε να χρησιμοποιήσετε - μεμονωμένα, διπλά ή νομίσματα.

1 Dim sngΤιμή ως Single
1 Dim dblΤιμή ως διπλό
1 Dim curPrice as Currency

Ο τύπος μεμονωμένων δεδομένων θα στρογγυλοποιήσει το δεκαδικό σημείο ελαφρώς διαφορετικά στον τύπο δεδομένων διπλού και νομίσματος, επομένως είναι προτιμότερο να χρησιμοποιείτε διπλό προς μονό για ακρίβεια. Ένα διπλό μπορεί να έχει έως και 12 δεκαδικά ψηφία, ενώ το νόμισμα και το μονόκλινο μπορούν να έχουν έως και 4 δεκαδικά ψηφία.

Για περισσότερες πληροφορίες σχετικά με αυτούς τους τύπους δεδομένων, μπορείτε να ρίξετε μια ματιά εδώ.

Δήλωση Int Variable σε Module ή Global Level

Στα προηγούμενα παραδείγματα, δηλώσαμε τη μεταβλητή Int μέσα σε μια διαδικασία. Οι μεταβλητές που δηλώνονται με μια διαδικασία μπορούν να χρησιμοποιηθούν μόνο εντός αυτής της διαδικασίας.

Αντ 'αυτού, μπορείτε να δηλώσετε μεταβλητές Int σε ενότητα ή παγκόσμιο επίπεδο.

Επίπεδο ενότητας

Επίπεδο ενότητας οι μεταβλητές δηλώνονται στην κορυφή των ενοτήτων κώδικα με το Αμυδρός δήλωση.

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

Παγκόσμιο Επίπεδο

Παγκόσμιο επίπεδο οι μεταβλητές δηλώνονται επίσης στην κορυφή των ενοτήτων κώδικα. Ωστόσο, αντί να χρησιμοποιήσετε το Αμυδρός δήλωση, χρησιμοποιήστε το Δημόσιο δήλωση για να υποδείξετε ότι η ακέραιη μεταβλητή είναι διαθέσιμη για χρήση σε όλο το έργο VBA.

1 Public IntA as Integer

Εάν δηλώσετε τον ακέραιο σε επίπεδο μονάδας και στη συνέχεια προσπαθήσετε να τον χρησιμοποιήσετε σε διαφορετική ενότητα, θα εμφανιστεί σφάλμα.

Ωστόσο, εάν είχατε χρησιμοποιήσει τη λέξη -κλειδί Δημόσια για να δηλώσετε τον ακέραιο, το σφάλμα δεν θα εμφανιζόταν και η διαδικασία θα λειτουργούσε τέλεια.

Μετατροπή συμβολοσειράς σε Int

Μπορεί να υπάρχει ένα παράδειγμα ή περιπτώσεις όπου θα χρειαστεί να μετατρέψετε έναν αριθμό που είναι αποθηκευμένος ως συμβολοσειρά σε ακέραιη τιμή.

Θα παρατηρήσετε στο άμεσο παράθυρο ότι η ακέραιη τιμή πηγαίνει δεξιά υποδεικνύοντας έναν αριθμό, ενώ η τιμή συμβολοσειράς πηγαίνει προς τα αριστερά - υποδεικνύοντας κείμενο.

Μετατροπή Int σε String

Αντιστρόφως, μπορείτε να μετατρέψετε μια ακέραιη τιμή σε συμβολοσειρά.

Για περισσότερες πληροφορίες σχετικά με αυτούς τους τύπους δεδομένων, μπορείτε να ρίξετε μια ματιά εδώ.

Ακέραιος τύπος αποθηκεύεται ως συμβολοσειρά

<>

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

wave wave wave wave wave