Δυναμικό πίνακα στο Excel VBA
Εάν το μέγεθος της συστοιχίας σας αυξηθεί και δεν θέλετε να διορθώσετε το μέγεθος του πίνακα, μπορείτε να χρησιμοποιήσετε το Λέξη-κλειδί ReDim. Excel VBA τότε αλλάζει αυτόματα το μέγεθος του πίνακα.
Προσθέστε μερικούς αριθμούς στη στήλη Α.
Τοποθετήστε ένα κουμπί εντολής στο φύλλο εργασίας σας και προσθέστε τις ακόλουθες γραμμές κώδικα:
1. Αρχικά, δηλώνουμε τη σειρά που ονομάζεται αριθμοί. Επίσης, δηλώνουμε δύο μεταβλητές τύπου Integer. Ένα όνομα μεγέθους και ένα όνομα i.
Σημείωση: ο πίνακας δεν έχει ακόμα μέγεθος. οι αριθμοί, το μέγεθος και το i επιλέγονται τυχαία εδώ, μπορείτε να χρησιμοποιήσετε οποιαδήποτε ονόματα. Θυμηθείτε να ανατρέξετε σε αυτά τα ονόματα στον υπόλοιπο κωδικό σας.
2. Στη συνέχεια, καθορίζουμε το μέγεθος του πίνακα και το αποθηκεύουμε στο μεταβλητό μέγεθος. Μπορείτε να χρησιμοποιήσετε τη λειτουργία φύλλου εργασίας CountA για αυτό. Προσθέστε την ακόλουθη γραμμή κώδικα:
3. Γνωρίζουμε τώρα το μέγεθος του πίνακα και μπορούμε να το επανατοποθετήσουμε. Προσθέστε την ακόλουθη γραμμή κώδικα:
4. Στη συνέχεια αρχικοποιούμε κάθε στοιχείο του πίνακα. Χρησιμοποιούμε βρόχο.
numbers(i) = Cells(i, 1).Value
Next i
5. Εμφανίζουμε το τελευταίο στοιχείο του πίνακα χρησιμοποιώντας ένα MsgBox.
6. Κλείστε τον επεξεργαστή της Visual Basic και κάντε κλικ στο κουμπί εντολών στο φύλλο.
Αποτέλεσμα:
7. Τώρα για να δείτε ξεκάθαρα γιατί ονομάζεται δυναμικός πίνακας, προσθέστε έναν αριθμό στη στήλη Α.
8. Κάντε ξανά κλικ στο κουμπί εντολών.
Συμπέρασμα: Το Excel VBA έχει αλλάξει αυτόματα το μέγεθος αυτού του δυναμικού πίνακα.
9. Όταν χρησιμοποιείτε τη λέξη-κλειδί ReDim, διαγράφετε όλα τα υπάρχοντα δεδομένα που είναι αποθηκευμένα στον πίνακα. Για παράδειγμα, προσθέστε τις ακόλουθες γραμμές κώδικα στον κώδικα που δημιουργήθηκε προηγουμένως:
MsgBox numbers(1)
Αποτέλεσμα:
Ο πίνακας είναι κενός.
10. Όταν θέλετε να διατηρήσετε τα δεδομένα στην υπάρχουσα συστοιχία κατά την αναδιέγερσή της, χρησιμοποιήστε τη λέξη-κλειδί Διατήρηση.
MsgBox numbers(1)
Αποτέλεσμα: