Βίντεο: 3. λόγου χάριν - μαντάρα 2025
Οι μεταβλητές παίζουν μεγάλο ρόλο στις περισσότερες μακροεντολές Excel που συναντάτε. Μπορείτε να σκεφτείτε μεταβλητές ως δοχεία μνήμης που μπορείτε να χρησιμοποιήσετε στις διαδικασίες σας. Υπάρχουν διάφοροι τύποι μεταβλητών, εκάστης οποίας επιφορτίζεται η κατοχή συγκεκριμένου τύπου δεδομένων.
Ακολουθούν μερικοί από τους κοινούς τύπους μεταβλητών που θα δείτε:
-
String: Διατηρεί δεδομένα κειμένου
-
Ακέραιος αριθμός: Διατηρεί αριθμητικά δεδομένα που κυμαίνονται από -32, 768 έως 32, 767 > Κρατά αριθμητικά δεδομένα που κυμαίνονται από -2, 147, 483, 648 έως 2, 147, 483, 647
-
Διπλή: Παραλλαγή:
-
Διατηρεί οποιοδήποτε είδος δεδομένων Boolean:
-
Διατηρεί δυαδικά δεδομένα που επιστρέφουν True ή False Αντικείμενο:
-
μια μεταβλητή σε μια μακροεντολή, δηλώνετε μια μεταβλητή
-
. Κάνετε αυτό εισάγοντας το Dim (συντομογραφία για τη διάσταση), τότε το όνομα της μεταβλητής σας, και μετά τον τύπο. Για παράδειγμα:
Αν και είναι δυνατό να δημιουργήσετε κώδικα που δεν χρησιμοποιεί μεταβλητές, θα συναντήσετε πολλά παραδείγματα κώδικα VBA όπου χρησιμοποιούνται μεταβλητές
. Υπάρχουν δύο βασικοί λόγοι γι 'αυτό.
Πρώτον, το Excel δεν γνωρίζει εγγενώς τι χρησιμοποιούνται τα δεδομένα σας. Δεν βλέπει αριθμούς, σύμβολα ή γράμματα. Βλέπει μόνο δεδομένα. Όταν δηλώνετε μεταβλητές με συγκεκριμένους τύπους δεδομένων, βοηθάτε το Excel να γνωρίζει πώς θα χειρίζεται ορισμένα κομμάτια δεδομένων, έτσι ώστε οι μακροεντολές σας να παράγουν τα αποτελέσματα που θα περιμένατε.Δεύτερον, οι μεταβλητές συμβάλλουν καθιστώντας τον κώδικα πιο αποδοτικό και πιο κατανοητό. Για παράδειγμα, ας υποθέσουμε ότι έχετε έναν αριθμό στο κελί A1 που αναφέρεται επανειλημμένα στη μακροεντολή σας. Μπορείτε να ανακτήσετε αυτόν τον αριθμό δείχνοντας στο κελί A1 κάθε φορά που το χρειάζεστε: Sub Macro1 () Range ("B1"). Τιμή = Εύρος ("A1"). Τιμή * 5 Εύρος ("C1"). Τιμή = Εύρος ("A1"). Τιμή * 10 Εύρος ("D1"). Τιμή = Εύρος ("A1").Τιμή * 15 End Sub Ωστόσο, αυτή η μακροεντολή θα αναγκάσει το Excel να σπαταλάει κύκλους που αποθηκεύουν τον ίδιο αριθμό στη μνήμη κάθε φορά που δείχνετε στο κελί A1. Επίσης, εάν πρέπει να αλλάξετε το βιβλίο εργασίας σας έτσι ώστε ο αριθμός στόχου να μην είναι στο κελί A1, αλλά στο λέμε κυψέλη A2, θα χρειαστεί να επεξεργαστείτε τον κωδικό σας, αλλάζοντας όλες τις αναφορές από A1 σε A2.
Ένας καλύτερος τρόπος είναι να αποθηκεύσετε τον αριθμό στο κελί A1 μία φορά. Για παράδειγμα, μπορείτε να αποθηκεύσετε την τιμή στο κελί A1 σε μια μεταβλητή ακέραιου τύπου που ονομάζεται myValue:
Sub WithVariable () Dim myValue ως ακέραιο myValue = Εύρος ("A1"). Εύρος τιμών ("C3"). Τιμή = myValue * 5 Εύρος ("D5"). Τιμή = myValue * 10 Εύρος ("E7"). Value = myValue * 15 End Sub
Αυτή η προσέγγιση όχι μόνο βελτιώνει την αποτελεσματικότητα του κώδικα σας (διασφαλίζοντας ότι το Excel διαβάζει τον αριθμό στο κελί A1 μόνο μία φορά), αλλά επίσης εξασφαλίζει ότι πρέπει να επεξεργαστείτε μόνο μία γραμμή αν αλλάξει ο σχεδιασμός του βιβλίου εργασίας σας.