Πίνακες VBA στο Excel | Πώς να εργαστείτε με τη λειτουργία Arrays στο VBA;

Στις συστοιχίες VBA χρησιμοποιούνται για τον ορισμό της ομάδας αντικειμένων, υπάρχουν εννέα διαφορετικές λειτουργίες συστοιχιών στο VBA και είναι ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT και UBOUND, όλα αυτά είναι ενσωματωμένες συναρτήσεις για πίνακα στο VBA, η συνάρτηση Array μας δίνει την τιμή για το δεδομένο όρισμα.

Λειτουργία συστοιχίας Excel VBA

Η συνάρτηση Array είναι μια συλλογή τιμών σε μία μόνο μεταβλητή. Μπορούμε να παρέχουμε έναν πίνακα σε μια Υπορουτίνα σε vba, Functions και Properties. Οι πίνακες VBA είναι μία από τις τεχνικές που χρησιμοποιούνται συχνά για την αποθήκευση περισσότερων από μία τιμών στη μεταβλητή.

Παραδείγματα της συνάρτησης συστοιχίας Excel VBA

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

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

Κώδικας:

 Sub Array_Ex () Dim x As Integer Dim y As Integer x = 1 y = 2 Range ("A1"). Value = x Range ("A2"). Value = y End Sub 

Στο παραπάνω παράδειγμα, έχω δηλώσει δύο μεταβλητές που ονομάζονται x & y. Το X κρατά το 1 ως τιμή και το Y κρατά το 2 ως τιμή.

Τώρα, ρίξτε μια ματιά στο παράδειγμα λειτουργίας του πίνακα Excel VBA με μία μόνο μεταβλητή.

Κώδικας:

 Sub Array_Ex () Dim x (1 to 2) As Integer Range ("A1"). Value = x (1) Range ("A2"). Value = x (2) End Sub 

Τώρα, εάν εκτελέσετε αυτόν τον κώδικα VBA, θα έχουμε τιμές στο κελί A1 & A2.

Οι μεταβλητές συστοιχίας επέστρεψαν το αποτέλεσμα ως μηδέν. Αυτό συμβαίνει επειδή μόλις δηλώσαμε τις μεταβλητές ως δύο αλλά δεν έχουμε εκχωρήσει τιμές σε αυτές τις μεταβλητές. Πρέπει λοιπόν να αντιστοιχίσουμε τιμές σε αυτές τις μεταβλητές.

Κώδικας:

 Sub Array_Ex () Dim x (1 to 2) As Integer x (1) = 10 x (2) = 20 Range ("A1"). Value = x (1) Range ("A2"). Value = x (2 End End 

Τώρα εκτελέστε τον κώδικα για να λάβετε αποτελέσματα.

Πριν εισαγάγουμε τις τιμές των μεταβλητών πίνακα σε κελιά, πρέπει να αντιστοιχίσουμε την τιμή σε εκείνες τις δηλωμένες μεταβλητές πίνακα, όπως εκχωρήσαμε τις μεταβλητές x (1) = 10 & x (2) = 20.

Παράδειγμα # 1 - Εισαγωγή σειριακών αριθμών χρησιμοποιώντας στατική σειρά

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

Κώδικας:

 Sub StaticArray_Ex () Dim x (1 to 5) As Integer x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Range ("A1"). Τιμή = x (1) Εύρος ("A2"). Τιμή = x (2) Εύρος ("A3"). Τιμή = x (3) Εύρος ("A4"). Τιμή = x (4) Εύρος ("A5" ). Τιμή = x (5) End Sub 

Τώρα εκτελέστε αυτόν τον κωδικό για να εισαγάγετε σειριακούς αριθμούς.

Παράδειγμα # 2 - Εισαγωγή σειριακών αριθμών με χρήση δυναμικής συστοιχίας

Τώρα θα δούμε τον δεύτερο τύπο πίνακα, δηλαδή δυναμικό πίνακα

Κώδικας:

 Sub DynamicArray_Ex () Dim x () As Integer ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Range ("A1" ). Τιμή = x (1) Εύρος ("A2"). Τιμή = x (2) Εύρος ("A3"). Τιμή = x (3) Εύρος ("A4"). Τιμή = x (4) Εύρος (" A5 "). Τιμή = x (5) End Sub 

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

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

Παράδειγμα # 3 - Δημιουργήστε μια συνάρτηση Εισαγωγή ονομάτων μήνα χρησιμοποιώντας τη σειρά

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

Κώδικας:

 Λίστα λειτουργιών_Of_Months () List_Of_Months = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov Λειτουργία λήξης "," Dec ") 

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

Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στη λειτουργική σας μονάδα.

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

Ανοίξτε τον τύπο και πατήστε enter. Θα πάρουμε το όνομα του πρώτου μήνα, δηλαδή τον Ιανουάριο

Εάν εισαγάγετε τον τύπο για μια ακόμη φορά, θα λάβουμε τον Jan όχι τον επόμενο μήνα Φεβρουάριο. Επομένως, επιλέξτε πρώτα 12 στήλες σε μια σειρά.

Τώρα ανοίξτε τον τύπο στο κελί D1.

Δεδομένου ότι έχουμε δημιουργήσει τον τύπο με τον πίνακα, πρέπει να κλείσουμε τους τύπους ως τύπο πίνακα μόνο. Κρατήστε λοιπόν Ctrl + Shift + Enter. Θα έχουμε και τα 12μηνα ονόματα.

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

  • Υπάρχουν δύο ακόμη τύποι συστοιχιών, δηλαδή δισδιάστατος πίνακας και πολυδιάστατος πίνακας.
  • Οι πίνακες ξεκινούν από 0 όχι από 1. Το μηδέν σημαίνει την πρώτη σειρά και την πρώτη στήλη.
  • Ο πίνακας είναι ένα μεγάλο θέμα που πρέπει να το καταλάβετε για να προχωρήσετε στο επόμενο επίπεδο.
  • Η μεταβλητή συστοιχίας θα είναι αυτή που κρατά πολλά δεδομένα κάθε φορά που προχωρά στο επόμενο επίπεδο.
  • Το Redim χρησιμοποιείται για την αποθήκευση του τελευταίου μήκους του πίνακα σε δυναμικό τύπο πίνακα.

$config[zx-auto] not found$config[zx-overlay] not found