Πολυδιάστατος πίνακας VBA (2D Arrays)

Πίνακας περιεχομένων

Αυτό το σεμινάριο θα συζητήσει 2-δ και πολυδιάστατες συστοιχίες στο VBA.

Πολυδιάστατος πίνακας (2D Arrays)

Οι πολυδιάστατοι πίνακες είναι πίνακες που περιέχουν περισσότερες από μία διαστάσεις, συνήθως δύο ή τρεις διαστάσεις, αλλά οι πίνακες μπορούν να έχουν έως 32 διαστάσεις.

Δηλώστε 2D Array

Για να δημιουργήσετε έναν πίνακα με περισσότερες από μία ιδιότητες, χρησιμοποιήστε κόμματα για να ορίσετε κάθε ξεχωριστή ιδιότητα:

1 Dim intArr (2,3) ως ακέραιος

Συμπλήρωση 2D Array

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

1234567891011121314151617181920212223242526 Υποπληθυσμός2D ()"δηλώστε τον πίνακα 2DDim intA (2, 3) Ως ακέραιος«δηλώστε μεταβλητέςDim rw Ως ακέραιοςDim col ως ακέραιος"συμπληρώστε τον πίνακαintA (0, 0) = 45intA (0, 1) = 50intA (0, 2) = 55intA (0, 3) = 60intA (1, 0) = 65intA (1, 1) = 70intA (1, 2) = 75intA (1, 3) = 80intA (2, 0) = 85intA (2, 1) = 90intA (2, 2) = 95intA (2, 3) = 100"βρόχο μέσα από τον πίνακα και συμπληρώστε το ExcelΓια rw = 0 έως 2Για col = 0 έως 3Κελιά (rw + 1, col + 1). Value = intA (rw, col)Επόμενο κολΕπόμενο rwΤέλος υπο

Το υπολογιστικό φύλλο του Excel θα πρέπει στη συνέχεια να συμπληρωθεί ως εξής.

Συμπλήρωση 2D Array από δεδομένα Excel

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

1234567891011121314151617181920212223242526 Υποπληθυσμός2D ()«Δηλώστε τα φύλλα εργασίαςDim ws_Source As WorksheetDim ws_Destination As Worksheet«Δηλώστε τον πίνακαDim wsData (10, 2) Ως παραλλαγή«Δηλώστε τις μεταβλητέςDim rw ως ακέραιοςDim col ως ακέραιος«ανατρέξτε στο αρχικό φύλλοΟρισμός ws_Source = Φύλλα εργασίας ("Φύλλο1")"λάβετε τις πληροφορίες από το φύλλο προέλευσης και συμπληρώστε τον πίνακαΓια rw = LBound (wsData, 1) Προς UBound (wsData, 1)Για col = LBound (wsData, 2) To UBound (wsData, 2)wsData (rw, col) = ws_Source.Range ("A2"). Offset (rw, col). ΑξίαΕπόμενο κολΕπόμενο rw«ανατρέξτε στο φύλλο προορισμούΟρισμός ws_Destination = Φύλλα εργασίας ("Φύλλο2")"συμπληρώστε το φύλλο προορισμού από τον πίνακαΓια rw = LBound (wsData, 1) Προς UBound (wsData, 1)Για col = LBound (wsData, 2) To UBound (wsData, 2)ws_Destination.Range ("A1"). Offset (rw, col). Value = wsData (rw, col)Επόμενο κολΕπόμενο rwΤέλος υπο

Αλλαγή μεγέθους χρησιμοποιώντας ReDim και Re-Dim Preserve

Μπορείτε να αλλάξετε το μέγεθος ενός πίνακα χρησιμοποιώντας ReDim.

1234567891011121314151617 Sub Resize2D ()"δηλώστε τον πίνακαDim varArray () ως Παραλλαγή"δηλώστε το μέγεθος του πίνακαReDim varArray (1, 2)varArray (0, 0) = "Μελ Σμιθ"varArray (0, 1) = "Fred Buckle"varArray (0, 2) = "Jane Eyre"varArray (1, 0) = "Λογιστής"varArray (1, 1) = "Γραμματέας"varArray (1, 2) = "Γιατρός""επαναδημοσίευση του μεγέθους του πίνακαReDim varArray (0, 1)"επαναπληρώστε τον πίνακαvarArray (0, 0) = "Μελ Σμιθ"varArray (0, 1) = "Fred Buckle"Τέλος υπο

Όταν επαναδημοσιεύετε τον πίνακα, θα χάσετε τυχόν δεδομένα που διατηρήθηκαν προηγουμένως στον πίνακα, εκτός εάν χρησιμοποιήσετε το Δήλωση Διατήρησης ReDim.

12345678910111213141516 Sub Resize2D ()'δηλώστε τον πίνακα Dim varArray () ως Παραλλαγή"δηλώστε το μέγεθος του πίνακαReDim varArray (1, 2)varArray (0, 0) = "Μελ Σμιθ"varArray (0, 1) = "Fred Buckle"varArray (0, 2) = "Jane Eyre"varArray (1, 0) = "Λογιστής"varArray (1, 1) = "Γραμματέας"varArray (1, 2) = "Γιατρός"'επαναδημοσίευση του μεγέθους του πίνακαReDim Preverve varArray (1, 3)"συμπληρώστε τον πίνακα με πρόσθετες τιμέςvarArray (0, 3) = "Rob Barnes"varArray (1, 3) = "Υδραυλικός"Τέλος υπο

Μπορείτε να αλλάξετε το μέγεθος της τελευταίας ιδιότητας ενός πίνακα μόνο εάν θέλετε να διατηρήσετε τα αρχικά δεδομένα στον πίνακα με Re-Dim Preserve.

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

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave