Λειτουργία VBA UBound | Πώς να χρησιμοποιήσετε το UBound στο Excel VBA;

UBOUND ή επίσης γνωστό ως Upper Bound, αυτή η συνάρτηση στο VBA χρησιμοποιείται με την αντίθετη συνάρτηση που LBOUND ή επίσης γνωστή ως λειτουργία Lower Bound, η χρήση αυτής της συνάρτησης είναι να καθορίσει το μήκος ενός πίνακα σε έναν κωδικό και όπως υποδηλώνει το όνομα UBOUND χρησιμοποιείται για τον καθορισμό του άνω ορίου του πίνακα.

Συνάρτηση VBA UBOUND

Πώς λέτε το μέγιστο μήκος του πίνακα στο Excel; Ναι, μπορούμε να δούμε και να ενημερώσουμε με μη αυτόματο τρόπο το μέγιστο μήκος του πίνακα, αλλά αν τα κάνετε όλα αυτά, ενώ σήμερα είναι το τέλος του, επειδή έχουμε μια συνάρτηση που ονομάζεται UBOUND για να καθορίσουμε το μέγιστο μήκος του πίνακα. Ακολουθήστε αυτό το άρθρο για περισσότερες πληροφορίες σχετικά με τη συνάρτηση UBOUND στο Excel VBA.

Το UBOUND σημαίνει Upper Bound. Συχνά φορές στην κωδικοποίηση μπορεί να χρειαστεί να βρούμε το μέγιστο μήκος του πίνακα. Για παράδειγμα, το MyResult (24) σημαίνει ότι το όνομα πίνακα MyResult διατηρεί 25 τιμές σε αυτό, επειδή ο πίνακας ξεκινά από το μηδέν και όχι από μία. Έτσι το 24 σημαίνει +1 δηλ. Συνολικά 25 τιμές.

Εδώ το μέγιστο μήκος του πίνακα είναι 24, αντί να παρέχουμε το μήκος του πίνακα χειροκίνητα, μπορούμε να χρησιμοποιήσουμε την ενσωματωμένη συνάρτηση UBOUND για να πάρουμε το μέγιστο μήκος του πίνακα.

Ο κωδικός είναι: UBOUND (MyResult)  δηλαδή UBOUND (24)

Έτσι, η συνάρτηση Excel VBA UBOUND αντιπροσωπεύει το άνω όριο του μεγέθους του πίνακα.

Πώς να χρησιμοποιήσετε τη συνάρτηση VBA UBound στο Excel;

Ο τύπος του VBA UBOUND είναι πολύ απλός επειδή έχει μόνο δύο παραμέτρους σε αυτό.

UBound (Όνομα σειράς [, Διάσταση])
  • Όνομα συστοιχίας: Αυτό είναι το όνομα του ονόματος πίνακα που έχουμε ορίσει. Για παράδειγμα, στο παραπάνω παράδειγμα, το MyResult είναι το όνομα του πίνακα.
  • [Διάσταση]: Εάν ο πίνακας έχει περισσότερες από μία ιδιότητες, τότε πρέπει να καθορίσουμε τη διάσταση του πίνακα. Εάν το αγνοήσετε θα αντιμετωπίζει την πρώτη διάσταση από προεπιλογή.

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

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

Ακολουθούν τα πρακτικά παραδείγματα της συνάρτησης VBA UBound.

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

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

Για να ξεκινήσω τη διαδικασία, επιτρέψτε μου να γράψω τον απλό κωδικό. Ακολουθήστε τα παρακάτω βήματα για να εφαρμόσετε τη συνάρτηση VBA UBOUND.

Βήμα 1: Ξεκινήστε τη μακροεντολή excel και ορίστε το όνομα της μεταβλητής.

Κώδικας:

 Sub Ubound_Example1 () Dim ArrayLength (0 to 4) As String 

Βήμα 2: Θα εκχωρήσω τιμές σε αυτό το όνομα πίνακα.

Κώδικας:

 Sub Ubound_Example1 () Dim ArrayLength (0 to 4) As String ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "έως" ArrayLength (4) = Τμήμα "VBA Class" End Sub 

Βήμα 3: Τώρα χρησιμοποιώντας ένα πλαίσιο μηνυμάτων με συνάρτηση UBOUND θα δούμε το μέγιστο μήκος του πίνακα.

Κώδικας:

 Sub Ubound_Example1 () Dim ArrayLength (0 to 4) As String ArrayLength (0) = "Hi" ArrayLength (1) = "Friend" ArrayLength (2) = "Welcome" ArrayLength (3) = "έως" ArrayLength (4) = "VBA Class" MsgBox "Το ανώτερο μήκος ορίου είναι:" & UBound (ArrayLength) End Sub 

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

το πλαίσιο μηνυμάτων θα σας δείξει ότι ο άνω δεσμευμένος αριθμός του πίνακα θα εμφανίζεται στο πλαίσιο μηνύματος.

Όπως αυτό χρησιμοποιώντας τη συνάρτηση Excel VBA UBOUND, μπορούμε να πάρουμε το ανώτερο όριο ενός πίνακα.

Παράδειγμα # 2 - Χρήση της συνάρτησης Excel VBA UBOUND για αντιγραφή των δεδομένων

Ας υποθέσουμε ότι έχετε μια λίστα δεδομένων σε ένα φύλλο excel όπως το παρακάτω.

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

Βήμα 1: Δημιουργήστε μια μακροεντολή και ορίστε τη μεταβλητή πίνακα.

Κώδικας:

 Sub Ubound_Example2 () Dim DataRange () ως Variant End Sub 

Βήμα 2: Τώρα ενεργοποιήστε το φύλλο δεδομένων διαιτησίας στο όνομά του.

Κώδικας:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Ενεργοποίηση End Sub 

Βήμα 3: Τώρα αντιστοιχίστε το εύρος δεδομένων στην καθορισμένη μεταβλητή χρησιμοποιώντας τον παρακάτω κώδικα.

Κώδικας:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Ενεργοποίηση DataRange = Range ("A2", Range ("A1"). End (xlDown). End (xlToRight)) End Sub 

Βήμα 4: Τώρα προσθέστε ένα νέο φύλλο εργασίας στο βιβλίο εργασίας.

Κώδικας:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Activate DataRange = Range ("A2", Range ("A1"). End (xlDown). End (xlToRight)) Sheets Works. Add End End Sub 

Βήμα 5: Τώρα προσθέστε τα δεδομένα στο φύλλο που προστέθηκε πρόσφατα χρησιμοποιώντας τη συνάρτηση Excel VBA UBOUND με τη μορφή του παρακάτω κώδικα.

Κώδικας:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Activate DataRange = Range ("A2", Range ("A1"). End (xlDown). End (xlToRight)) Sheets Works. Add Range (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange End Sub 

Ο παραπάνω κωδικός θα αντισταθμίσει τα κελιά με το μέγιστο μήκος που επιστρέφεται από τη συνάρτηση UBOUND και αυτό το εύρος θα είναι ίσο με την τιμή του ονόματος πίνακα " DataRange "

Βήμα 6: Τώρα εκτελέστε αυτόν τον κώδικα θα επικολλήσει την τιμή στο νέο φύλλο.

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

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

Κώδικας:

 Sub Ubound_Example2 () Dim DataRange () As Variant Sheets ("Data Sheet"). Activate DataRange = Range ("A2", Range ("A1"). End (xlDown). End (xlToRight)) Sheets Works. Add Range (ActiveCell , ActiveCell.Offset (UBound (DataRange, 1) - 1, UBound (DataRange, 2) - 1)) = DataRange Διαγραφή DataRange End Sub 

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

  • Το UBOUND επιστρέφει το μέγιστο μήκος του πίνακα.
  • Ο πίνακας ξεκινά από 0, όχι από 1.
  • Εάν θέλετε την χαμηλότερη τιμή του πίνακα, τότε πρέπει να χρησιμοποιήσετε το VBA LBOUND.
  • Εάν ο πίνακας έχει περισσότερες από μία ιδιότητες, τότε πρέπει επίσης να καθορίσετε τον αριθμό διάστασης.