Πίνακες Excel VBA | Λίστα των κορυφαίων 5 τύπων συστοιχιών (με παραδείγματα)

Πίνακες Excel VBA

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

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

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

  • Η δημιουργία μιας συστοιχίας είναι σαν τη δημιουργία μιας ξεχωριστής μονάδας μνήμης που μπορεί να διατηρήσει τα δεδομένα σε αυτήν. Για τη δημιουργία ενός πίνακα, τα δεδομένα πρέπει να είναι του ίδιου τύπου.
  • Οι πίνακες που δίνουμε στο excel πρέπει να αντιστοιχούν στον τύπο δεδομένων που έχουμε. Ας υποθέσουμε ότι εάν έχουμε δεδομένα που έχουν μόνο σειρές, έτσι σε αυτήν την περίπτωση, θα χρησιμοποιήσουμε τη «μονοδιάστατη συστοιχία» και εάν τα δεδομένα περιέχουν στήλες, τότε πρέπει να χρησιμοποιήσουμε «δισδιάστατες συστοιχίες», καθώς είναι σε θέση να διατηρούν μόνο τις τιμές από τις σειρές και τις στήλες.
  • Οι συστοιχίες πρέπει επίσης να λειτουργούν ως δυναμικές συστοιχίες ή στατικές συστοιχίες. Καθώς δίνουμε δυναμικό εύρος στον τύπο, μπορούμε επίσης να κάνουμε τη σειρά μεταβλητών. Οι δυναμικές συστοιχίες θα έχουν τη λειτουργικότητα να συμπεριλαμβάνουν άπειρο αριθμό σειρών και στηλών. Σε περίπτωση που οι συστοιχίες που έχουμε ορίσει είναι στατικού τύπου, τότε μπορούν να κρατήσουν μόνο περιορισμένο αριθμό σειρών και στηλών, όπως ορίζονται κατά τη στιγμή της δημιουργίας του πίνακα.

Εξήγηση

Το Array δουλεύει πάνω στον «Μαθηματικό κανόνα του πίνακα», δηλαδή προσδιορίζει τα δεδομένα μόνο από τη θέση του. Ας υποθέσουμε ότι εάν πρέπει να κάνουμε το VBA να καταλάβει ότι χρειαζόμαστε "20" στο κελί "B3", τότε πρέπει να γράψουμε τον κωδικό της τοποθεσίας ως (3, 2) όπου η πρώτη τιμή σημαίνει τη θέση της σειράς και η δεύτερη τιμή σημαίνει τον αριθμό της στήλης. Στον κόσμο του excel, αυτός ο κωδικός τοποθεσιών ονομάζεται «Άνω όριο» και «Κάτω όριο». Από προεπιλογή, η τοποθεσία στο excel ξεκινά από το ένα και όχι από το μηδέν, οπότε το excel βλέπει το "A1" ως αριθμό σειράς 0 και όχι τον αριθμό σειράς 1.

Ομοίως, οι στήλες ξεκινούν από μηδέν και όχι από μία.

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

Τώρα αφού επιλέξουμε τον τύπο πίνακα που απαιτείται, θα πρέπει τώρα να εισαγάγουμε τα δεδομένα σε αυτές τις συστοιχίες.

Αυτά τα δεδομένα πρέπει να δοθούν ένα προς ένα για να υπερέχουν με τους παρακάτω τρόπους.

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

Λίστα των κορυφαίων 5 τύπων συστοιχιών

  1. Στατικές συστοιχίες
  2. Δυναμική συστοιχία
  3. Μονοδιάστατη συστοιχία
  4. Διάστατη συστοιχία
  5. Πολυδιάστατη σειρά

Ας δούμε καθένα από αυτά λεπτομερώς.

# 1 - Στατικές συστοιχίες

Ένας πίνακας με προκαθορισμένο αριθμό τιμών που μπορεί να αποθηκευτεί σε αυτόν.

# 2 - Δυναμική συστοιχία

Σειρά με μια μη προκαθορισμένη τιμή που μπορεί να χειριστεί.

# 3 - Μονοδιάστατη συστοιχία

Ένας πίνακας που μπορεί να χωρέσει μόνο δεδομένα είτε από σειρές είτε από στήλες.

# 4 - Διάστατη συστοιχία

Ένας πίνακας που μπορεί να αποθηκεύσει μια τιμή από τις γραμμές και τις στήλες.

# 5 - Πολυδιάστατη σειρά

Πώς να χρησιμοποιήσετε τις συστοιχίες στο VBA (με παραδείγματα);

Μπορείτε να κατεβάσετε αυτό το Πρότυπο στο Πρότυπο VBA Excel εδώ - Πίνακες στο Πρότυπο VBA Excel

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

Παρακάτω είναι μερικά από τα παραδείγματα, αλλά πριν πάμε στα παραδείγματα θα μάθουμε να ανοίγουμε τον επεξεργαστή VBA με το πλήκτρο συντόμευσης

Αυτό θα ανοίξει το πρόγραμμα επεξεργασίας VBA, από εκεί πρέπει να εισαγάγουμε τον κωδικό στο "Αυτό το φύλλο εργασίας".

Παράδειγμα # 1

Επιλέξτε τον τύπο πίνακα που θέλετε, πρέπει να είναι δυναμικός ή στατικός πίνακας;

Εάν χρειαζόμαστε μια δυναμική συστοιχία τότε θα ορίσουμε τη διάσταση ως «παραλλαγή».

Εάν χρειαζόμαστε έναν στατικό πίνακα τότε θα ορίσουμε μια διάσταση ως "Στατική".

Παράδειγμα # 2

Ορίστε τις στήλες και τις γραμμές που θέλετε να αποθηκεύσει ο πίνακας.

Εάν έχουμε εισαγάγει το «1» στο βραχίονα αυτό σημαίνει ότι ο πίνακας μπορεί να διατηρήσει την τιμή 2 σειρών καθώς η μέτρηση του excel ξεκινά από το μηδέν.

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

Εδώ «1 έως 2» σημαίνει ότι δύο σειρές και «1 έως 3» σημαίνει ότι τρεις στήλες.

Εδώ έχουμε αλλάξει τον κανόνα για το πώς το excel μετράει σειρές και το ζητάμε να μετρά από το "1" και όχι από το μηδέν.

Παράδειγμα # 3

Η εισαγωγή δεδομένων στον πίνακα.

Τα δεδομένα πρέπει να εισέρχονται στα κελιά. Εδώ τα δεδομένα πρέπει να εισαχθούν με τη μορφή (I, j) όπου «I» σημαίνει τη σειρά και «J» σημαίνει τη στήλη.

Έτσι "a (1,1") σημαίνει ότι το κελί "A1"

Παράδειγμα # 4

Κλείσιμο του κωδικού.

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

Πράγματα που πρέπει να θυμάστε

  • Από προεπιλογή, το Excel θα μετρήσει τις σειρές ξεκινώντας από το μηδέν. Αυτό σημαίνει ότι το "2" αντί του "I" σημαίνει 3 σειρές και όχι 2 σειρές. Αυτό ισχύει και για το «J».
  • Τα δεδομένα που πρέπει να εισαχθούν για τον πίνακα πρέπει να ξεκινούν από (0, 0) που είναι από την πρώτη σειρά και την πρώτη στήλη.
  • Σε περίπτωση που χρησιμοποιούμε τις δυναμικές συστοιχίες τότε αυτό θα χρειαστεί τη λειτουργία του "VBA REDIM" για τον καθορισμό του αριθμού των σειρών και των στηλών που πρέπει να απομνημονευθούν.
  • Σε περίπτωση δημιουργίας ενός δισδιάστατου πίνακα τότε πρέπει να χρησιμοποιήσουμε το "Integer" ως διάσταση.
  • Το αρχείο excel πρέπει να αποθηκευτεί στην έκδοση που είναι "συμβατή με μακροεντολή" αλλιώς η κωδικοποίηση που κάναμε στο VBA θα εξαφανιστεί και δεν θα εκτελεστεί την επόμενη φορά.