Τι είναι το VBA Array;
Ο πίνακας ορίζεται ως θέση μνήμης ικανή να αποθηκεύει περισσότερες από μία τιμές. Όλες οι τιμές πρέπει να είναι του ίδιου τύπου δεδομένων. Ας υποθέσουμε ότι θέλετε να αποθηκεύσετε μια λίστα με τα αγαπημένα σας ποτά σε μία μόνο μεταβλητή, μπορείτε να χρησιμοποιήσετε τη σειρά VBA για να το κάνετε αυτό.
Χρησιμοποιώντας έναν πίνακα, μπορείτε να αναφερθείτε στις σχετικές τιμές με το ίδιο όνομα. Μπορείτε να χρησιμοποιήσετε ένα ευρετήριο ή έναν συνδρομητή για να τους ξεχωρίσετε. Οι μεμονωμένες τιμές αναφέρονται ως τα στοιχεία του πίνακα Excel VBA. Είναι συνεχόμενα από το ευρετήριο 0 έως την υψηλότερη τιμή δείκτη.
Αυτό το σεμινάριο προϋποθέτει ότι χρησιμοποιείτε το Microsoft Excel έκδοση 2013. Οι γνώσεις εξακολουθούν να ισχύουν και για άλλες εκδόσεις του Microsoft Excel.
Σε αυτό το σεμινάριο προγραμματισμού VBA, θα μάθετε-
- Ποια είναι τα πλεονεκτήματα των συστοιχιών;
- Τύποι συστοιχιών στο VBA
- Πώς να χρησιμοποιήσετε το Array στο Excel VBA
- Δοκιμή της εφαρμογής μας
Ποια είναι τα πλεονεκτήματα των συστοιχιών;
Τα παρακάτω είναι μερικά από τα οφέλη που προσφέρει η λειτουργία συστοιχίας VBA
- Ομαδοποιήστε λογικά σχετικά δεδομένα - ας υποθέσουμε ότι θέλετε να αποθηκεύσετε μια λίστα μαθητών. Μπορείτε να χρησιμοποιήσετε μια μεταβλητή ενός πίνακα που έχει ξεχωριστές τοποθεσίες για κατηγορίες μαθητών, π.χ. kinder garden, πρωτοβάθμια, δευτεροβάθμια, γυμνάσιο κ.λπ.
- Οι πίνακες διευκολύνουν την εγγραφή διατηρήσιμου κώδικα. Για τα ίδια λογικά δεδομένα, σας επιτρέπει να ορίσετε μια μεμονωμένη μεταβλητή, αντί να ορίσετε περισσότερες από μία μεταβλητές.
- Καλύτερη απόδοση - μόλις οριστεί ένας πίνακας, είναι πιο γρήγορη η ανάκτηση, ταξινόμηση και τροποποίηση δεδομένων.
Τύποι συστοιχιών στο VBA
Το VBA υποστηρίζει δύο τύπους συστοιχιών, συγκεκριμένα:
- Στατικός - Αυτοί οι τύποι συστοιχιών έχουν έναν καθορισμένο προκαθορισμένο αριθμό στοιχείων που μπορούν να αποθηκευτούν. Δεν μπορεί κανείς να αλλάξει το μέγεθος του τύπου δεδομένων ενός Static Array. Αυτά είναι χρήσιμα όταν θέλετε να συνεργαστείτε με γνωστές οντότητες, όπως ο αριθμός ημερών σε μια εβδομάδα, το φύλο κ.λπ.
Για παράδειγμα : Dim ArrayMonth (12) As String
- Dynamic - Αυτοί οι τύποι συστοιχιών δεν έχουν καθορισμένο προκαθορισμένο αριθμό στοιχείων που μπορούν να αποθηκευτούν. Αυτά είναι χρήσιμα όταν εργάζεστε με οντότητες που δεν μπορείτε να προκαθορίσετε τον αριθμό.
Για παράδειγμα : Dim ArrayMonth () ως παραλλαγή
Σύνταξη για δήλωση συστοιχιών
Στατικές συστοιχίες
Η σύνταξη για τη δήλωση STATIC συστοιχιών έχει ως εξής:
Dim arrayName (n) as datatype
ΕΔΩ,
Κώδικας | Δράση |
Dim arrayName (n) τύπος δεδομένων |
|
Δυναμικές συστοιχίες
Η σύνταξη για τη δήλωση DYNAMIC συστοιχιών έχει ως εξής:
Dim arrayName() as datatypeReDim arrayName(4)
ΕΔΩ,
Κώδικας | Δράση |
Dim arrayName () τύπος δεδομένων |
|
ReDim arrayName (4) |
|
Διαστάσεις συστοιχίας
Ένας πίνακας μπορεί να είναι μία διάσταση, δύο διαστάσεις ή πολυδιάστατες.
- Μία διάσταση : Σε αυτήν την ιδιότητα, ο πίνακας χρησιμοποιεί μόνο ένα ευρετήριο. Για παράδειγμα, ένας αριθμός ατόμων κάθε ηλικίας.
- Δύο διαστάσεις : Σε αυτήν την ιδιότητα, ο πίνακας χρησιμοποιεί δύο ευρετήρια. Για παράδειγμα, ένας αριθμός μαθητών σε κάθε τάξη. Απαιτεί αριθμό τάξεων και αριθμό μαθητή σε κάθε τάξη
- Πολυδιάσταση : Σε αυτήν την ιδιότητα, ο πίνακας χρησιμοποιεί περισσότερα από δύο ευρετήρια. Για παράδειγμα, οι θερμοκρασίες κατά τη διάρκεια της ημέρας. (30, 40, 20).
Πώς να χρησιμοποιήσετε το Array στο Excel VBA
Θα δημιουργήσουμε μια απλή εφαρμογή. Αυτή η εφαρμογή συμπληρώνει ένα φύλλο Excel με δεδομένα από μια μεταβλητή πίνακα. Σε αυτό το παράδειγμα VBA Array, θα κάνουμε τα εξής.
- Δημιουργήστε ένα νέο βιβλίο εργασίας του Microsoft Excel και αποθηκεύστε το ως Excel Work-Enabled Workbook (* .xlsm)
- Προσθέστε ένα κουμπί εντολής στο βιβλίο εργασίας
- Ορίστε τις ιδιότητες ονόματος και λεζάντας του κουμπιού εντολής
- Προγραμματισμός του VBA που συμπληρώνει το φύλλο Excel
Ας κάνουμε αυτήν την άσκηση βήμα προς βήμα,
Βήμα 1 - Δημιουργήστε ένα νέο βιβλίο εργασίας
- Ανοίξτε το Microsoft Excel
- Αποθηκεύστε το νέο βιβλίο εργασίας ως VBA Arrays.xlsm
Βήμα 2 - Προσθέστε ένα κουμπί εντολής
Σημείωση: Αυτή η ενότητα προϋποθέτει ότι είστε εξοικειωμένοι με τη διαδικασία δημιουργίας διεπαφής στο Excel. Εάν δεν είστε εξοικειωμένοι, διαβάστε το σεμινάριο VBA Excel Form Control & ActiveX Control. Θα σας δείξει πώς να δημιουργήσετε τη διεπαφή
- Προσθέστε ένα κουμπί εντολής στο φύλλο
- Ορίστε την ιδιότητα ονόματος σε cmdLoadBeverages
- Ορίστε την ιδιότητα υπότιτλου σε Load Beverages
Το GUI σας πρέπει τώρα να έχει ως εξής
Βήμα 3 - Αποθηκεύστε το αρχείο
- Κάντε κλικ στο κουμπί αποθήκευσης ως
- Επιλέξτε Βιβλίο εργασίας με δυνατότητα Macro-Enabled (* .xlsm) όπως φαίνεται στην παρακάτω εικόνα
Βήμα 4 - Γράψτε τον κωδικό
Θα γράψουμε τώρα τον κωδικό για την εφαρμογή μας
- Κάντε δεξί κλικ στο κουμπί Load Beverages και επιλέξτε τον κωδικό προβολής
- Προσθέστε τον ακόλουθο κώδικα στο συμβάν κλικ του cmdLoadBeverages
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(1) = "Pepsi"Drinks(2) = "Coke"Drinks(3) = "Fanta"Drinks(4) = "Juice"Sheet1.Cells(1, 1).Value = "My Favorite Beverages"Sheet1.Cells(2, 1).Value = Drinks(1)Sheet1.Cells(3, 1).Value = Drinks(2)Sheet1.Cells(4, 1).Value = Drinks(3)Sheet1.Cells(5, 1).Value = Drinks(4)End Sub
ΕΔΩ,
Κώδικας |
Δράση |
Αχνά ποτά (1 έως 4) ως συμβολοσειρά |
|
Ποτά (1) = "Pepsi" |
|
Sheet1.Cells (1, 1). Value = "Τα αγαπημένα μου ποτά." |
|
Φύλλο 1. Κελιά (2, 1). Αξία = Ποτά (1) |
|
Δοκιμή της εφαρμογής μας
Επιλέξτε την καρτέλα προγραμματιστή και βεβαιωθείτε ότι το κουμπί λειτουργίας σχεδίασης είναι "απενεργοποιημένο". Ο δείκτης είναι, θα έχει λευκό φόντο και όχι έγχρωμο (πρασινωπό) φόντο. (Δείτε την παρακάτω εικόνα)
Κάντε κλικ στο κουμπί Load Beverages
Θα λάβετε τα ακόλουθα αποτελέσματα
Κατεβάστε το Excel που περιέχει τον παραπάνω κώδικα
Κάντε λήψη του παραπάνω κώδικα του Excel
Περίληψη
- Ένας πίνακας είναι μια μεταβλητή ικανή να αποθηκεύει περισσότερες από μία τιμές
- Το Excel VBA υποστηρίζει στατικούς και δυναμικούς πίνακες
- Οι πίνακες διευκολύνουν την εγγραφή διατηρήσιμου κώδικα σε σύγκριση με τη δήλωση πολλών μεταβλητών για δεδομένα που σχετίζονται λογικά.