Μεταβλητές VBA, Τύποι Δεδομένων και Σταθερές στο Excel

⚡ Έξυπνη Σύνοψη

Οι μεταβλητές, οι τύποι δεδομένων και οι σταθερές VBA στο Excel αποθηκεύουν και επισημαίνουν τις τιμές με τις οποίες λειτουργεί ένα πρόγραμμα. Αυτή η σελίδα εξηγεί τους κανόνες ονομασίας μεταβλητών, την έμμεση και ρητή δήλωση με το Dim, τους αριθμητικούς και μη αριθμητικούς τύπους δεδομένων και τον τρόπο δήλωσης μιας σταθεράς με το Const.

  • 📦 Μεταβλητός: Μια ονομαστική τιμή που διατηρείται στη μνήμη, την οποία ο κώδικας αποθηκεύει και αργότερα διαβάζει πίσω.
  • 🔤 Κανόνες ονομασίας: Ένα όνομα έχει μήκος κάτω από 255 χαρακτήρες, δεν έχει κενά, δεν ξεκινά με αριθμό και δεν περιέχει τελεία.
  • ✍️ Δήλωση: Η λέξη-κλειδί Dim δηλώνει ρητά μια μεταβλητή, για παράδειγμα Dim Num As Integer.
  • 🔢 Αριθμητικοί τύποι: Byte, Ακέραιος, Μεγάλος, Μονός, Double, το νόμισμα και το δεκαδικό διαφέρουν ως προς την αποθήκευση και το εύρος.
  • 🔠 Μη αριθμητικοί τύποι: Οι τιμές Σειρά χαρακτήρων, Boolean, Date, Object και Variant περιέχουν κείμενο, true ή false, ημερομηνίες και αντικείμενα.
  • 🔒 Συνεχής: Η λέξη-κλειδί Const δηλώνει μια τιμή που δεν μπορεί να αλλάξει, όπως Const DaysInYear = 365.

Μεταβλητές VBA, τύποι δεδομένων και σταθερές στο Excel

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

Μεταβλητές VBA

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

Για να ονομάσετε τη μεταβλητή στο VBA, πρέπει να ακολουθήσετε τους ακόλουθους κανόνες.

  • Πρέπει να είναι λιγότερο από 255 χαρακτήρες
  • Δεν επιτρέπεται η απόσταση
  • Δεν πρέπει να ξεκινά με αριθμό
  • Η περίοδος δεν επιτρέπεται

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

Μεταβλητές VBA Έγκυρα ονόματα Μεταβλητές VBA Μη έγκυρα ονόματα
Το ρολόι μου Το ρολόι μου
NewCar1 1_NewCar (δεν αρχίζει με αριθμό)
Ταυτότητα Υπαλλήλου Ταυτότητα υπαλλήλου (Δεν επιτρέπεται η θέση)

In VBA, πρέπει να δηλώσουμε τις μεταβλητές πριν τις χρησιμοποιήσουμε εκχωρώντας ονόματα και τύπο δεδομένων.

Στο VBA, οι μεταβλητές δηλώνονται είτε σιωπηρά είτε ρητά.

  • σιωπηρά: Παρακάτω είναι ένα παράδειγμα μιας μεταβλητής που δηλώνεται Implicitly.
  • ετικέτα=γκουρού99
  • όγκος=4
  • Ρητά: Παρακάτω είναι ένα παράδειγμα μεταβλητής που δηλώνεται ρητά. Μπορείτε να χρησιμοποιήσετε τη λέξη-κλειδί "Dim" στη σύνταξη
  • Ήλιο Αριθμός ως ακέραιος αριθμός
  • Ήλιο κωδικός πρόσβασης ως συμβολοσειρά

Η μεταβλητή VBA δεν διαφέρει από άλλες γλώσσες προγραμματισμού. Για να δηλώσετε μια μεταβλητή στο VBA χρησιμοποιείτε τη λέξη-κλειδί "Αμυδρός."

Σύνταξη για μεταβλητή VBA,

Για να δηλώσετε μια μεταβλητή στο VBA, πληκτρολογήστε Dim ακολουθούμενο από ένα όνομα:

Sub Exercise ()
        Dim <name>
End Sub

Πριν εκτελέσουμε τις μεταβλητές πρέπει να καταγράψουμε α μακροεντολή στο Excel. Για να εγγράψετε μια μακροεντολή κάντε τα εξής –

Βήμα 1): Καταγράψτε τη Μακροεντολή 1

Βήμα 2) : Διακοπή μακροεντολής 1

Βήμα 3): Ανοίξτε το πρόγραμμα επεξεργασίας Macro, εισαγάγετε τον κωδικό για τη μεταβλητή στο Macro1

Βήμα 4): Εκτελέστε τον κώδικα για το Macro 1

Παράδειγμα, για VBA Variable

Sub Macro1()
	Dim Num As Integer
	Num = 99
	MsgBox " Guru " & Num
End Sub

Όταν εκτελείτε αυτόν τον κωδικό, θα λάβετε την ακόλουθη έξοδο στο φύλλο σας.

Μεταβλητές VBA

Τύποι δεδομένων Excel VBA

Ο υπολογιστής δεν μπορεί να κάνει διαφοροποίηση μεταξύ των αριθμών (1,2,3..) και των συμβολοσειρών (a,b,c,..). Για να κάνουμε αυτή τη διαφοροποίηση, χρησιμοποιούμε Τύπους δεδομένων.

Οι τύποι δεδομένων VBA μπορούν να διαχωριστούν σε δύο τύπους

  • Αριθμητικοί τύποι δεδομένων
Χαρακτηριστικά Αποθηκευτικός χώρος Εύρος τιμών
Ψηφιόλεξη 1 byte από 0 έως 255
Ακέραιος αριθμός 2 bytes -32,768 να 32,767
Μακριά 4 bytes -2,147,483,648 να 2,147,483,648
μονόκλινο 4 bytes -3.402823E+38 έως -1.401298E-45 για αρνητικές τιμές 1.401298E-45 έως 3.402823E+38 για θετικές τιμές.
Double 8 bytes -1.79769313486232e+308 έως -4.94065645841247E-324 για αρνητικές τιμές
4.94065645841247E-324 έως 1.79769313486232e+308 για θετικές τιμές.
Νόμισμα 8 bytes -922,337,203,685,477.5808 να 922,337,203,685,477.5807
Δεκαδικός 12 bytes +/- 79,228,162,514,264,337,593,543,950,335 αν δεν χρησιμοποιείται δεκαδικό +/- 7.9228162514264337593543950335 (28 δεκαδικά ψηφία)
  • Μη αριθμητικοί τύποι δεδομένων
Τύπος δεδομένων Bytes που χρησιμοποιούνται Εύρος τιμών
Χορδή (σταθερό μήκος) Μήκος χορδής 1 έως 65,400 χαρακτήρες
Συμβολοσειρά (μεταβλητό μήκος) Μήκος + 10 byte 0 έως 2 δισεκατομμύρια χαρακτήρες
Boolean 2 bytes Σωστό ή λάθος
Ημερομηνία 8 bytes 1 Ιανουαρίου 100 έως 31 Δεκεμβρίου 9999
αντικείμενο 4 bytes Οποιοδήποτε ενσωματωμένο αντικείμενο
Παραλλαγή (αριθμητική) 16 bytes Οποιαδήποτε αξία τόσο μεγάλη όσο Double
Παραλλαγή (κείμενο) Μήκος+22 byte Το ίδιο με τη συμβολοσειρά μεταβλητού μήκους

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

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

Βήμα 1) Όπως και στο προηγούμενο σεμινάριο, θα εισαγάγουμε την εντολήButton1 στο δικό μας Φύλλο Excel.

Τύποι δεδομένων Excel VBA

Βήμα 2) Στο επόμενο βήμα, κάντε δεξί κλικ στο κουμπί και επιλέξτε Προβολή κώδικα. Θα ανοίξει το παράθυρο κώδικα όπως φαίνεται παρακάτω.

Τύποι δεδομένων Excel VBA

Βήμα 3) Στο στάδιο αυτό,

  • Αποθηκεύστε το αρχείο σας κάνοντας κλικ στο κουμπί αποθήκευση Τύποι δεδομένων Excel VBA
  • Στη συνέχεια, κάντε κλικ στο εικονίδιο του Excel Τύποι δεδομένων Excel VBA στο ίδιο παράθυρο για να επιστρέψετε το φύλλο Excel.
  • Μπορείτε να δείτε ότι η λειτουργία σχεδίασης είναι «ενεργοποιημένη» με πράσινο χρώμα

Τύποι δεδομένων Excel VBA

Βήμα 4) Απενεργοποιήστε τη λειτουργία σχεδίασης, πριν κάνετε κλικ στο κουμπί εντολής

Τύποι δεδομένων Excel VBA

Βήμα 5) Αφού απενεργοποιήσετε τη λειτουργία σχεδίασης, θα κάνετε κλικ στο commandButton1. Θα εμφανίσει την ακόλουθη μεταβλητή ως έξοδο για το εύρος που δηλώσαμε στον κώδικα.

  • Όνομα
  • Ημερομηνία Εγγραφής
  • Εισόδημα σε νομίσματα

Τύποι δεδομένων Excel VBA

Constant σε VBA

Το Constant είναι σαν μια μεταβλητή, αλλά δεν μπορείτε να την τροποποιήσετε. Για να δηλώσετε σταθερές VBA, μπορείτε να χρησιμοποιήσετε λέξη-κλειδί Const.

Υπάρχουν δύο τύποι σταθερών,

  • Ενσωματωμένο ή εγγενές που παρέχεται από την εφαρμογή.
  • Συμβολικό ή καθορισμένο από το χρήστη

Μπορείτε είτε να καθορίσετε το εύρος ως ιδιωτικός από προεπιλογή ή δημόσιο. Για παράδειγμα,

Δημόσιο Const DaysInYear=365

Εργάσιμες Ημέρες Ιδιωτικής Κόστος=250

Κατεβάστε το Excel που περιέχει τον παραπάνω κώδικα

Κατεβάστε το παραπάνω αρχείο Excel Code

Μεταβλητή Πεδίο εφαρμογής και Επιλογή Explicit

Το πού δηλώνεται μια μεταβλητή καθορίζει πού μπορεί να χρησιμοποιηθεί και μια μικρή ρύθμιση στην κορυφή μιας ενότητας αποτρέπει τις περισσότερες φορές.ping λάθη. Η κατανόηση και των δύο διατηρεί ένα αναπτυσσόμενο πρόγραμμα αξιόπιστο.

Λέξη-κλειδί Scope Διάρκεια ζωής
Dim (μέσα σε ένα Sub) Μόνο η διαδικασία στην οποία δηλώνεται Επαναφορά κάθε φορά που εκτελείται η διαδικασία
Στατικός Μόνο η διαδικασία, αλλά η τιμή διατηρείται Απομνημονεύτηκε μεταξύ κλήσεων
Ιδιωτικό (στην κορυφή της ενότητας) Κάθε διαδικασία σε αυτήν την ενότητα Ζει όσο το βιβλίο εργασίας είναι ανοιχτό
Δημόσιο (στην κορυφή της ενότητας) Κάθε ενότητα στο έργο Ζει όσο το βιβλίο εργασίας είναι ανοιχτό

💡 Συμβουλές: Χαρακτηριστικά Επιλογή ρητή ως την πρώτη γραμμή κάθε ενότητας. Αναγκάζει κάθε μεταβλητή να δηλωθεί με Dim, έτσι ώστε ένα όνομα με ορθογραφία να συλλαμβάνεται κατά τη διάρκεια της μεταγλώττισης αντί να δημιουργείται σιωπηλά μια νέα κενή μεταβλητή.

Συχνές Ερωτήσεις

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

Ο ακέραιος αριθμός περιέχει μόνο τιμές από -32,768 έως 32,767, επομένως ένας αριθμός γραμμών ή ένας μεγάλος αριθμός τον υπερκαλύπτει. Ο Long περιέχει πολύ μεγαλύτερες τιμές και Microsoft τώρα συνιστά τη χρήση του Long για ακέραιους αριθμούς στη σύγχρονη VBA.

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

Ναι. Οι βοηθοί κώδικα τεχνητής νοημοσύνης διαβάζουν πώς χρησιμοποιείται μια μεταβλητή και προτείνουν έναν κατάλληλο τύπο, όπως Long για έναν μετρητή ή String για κείμενο. Ο προγραμματιστής επιβεβαιώνει την επιλογή και προσθέτει την επιλογή Option Explicit.

Ναι. Οι βοηθοί τεχνητής νοημοσύνης επισημαίνουν μια ορθογραφικά λανθασμένη ή μη δηλωμένη μεταβλητή, εξηγούν γιατί την αναφέρει η Option Explicit και προτείνουν τη σωστή δήλωση. Ο προγραμματιστής εφαρμόζει τη διόρθωση και μεταγλωττίζει ξανά τη λειτουργική μονάδα.

Συνοψίστε αυτήν την ανάρτηση με: