Λειτουργία 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.

Παράδειγμα # 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

Step 4: Now add a new worksheet to the workbook.

Code:

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

Step 5: Now add the data to the newly added sheet by using the Excel VBA UBOUND function in the form of the below code.

Code:

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

The above code will offset the cells by the maximum length returned by the UBOUND function, and this range will be equal to the value of the array name “DataRange.

Step 6: Now run this code. It will paste the value to the new sheet.

This code is a dynamic one because even when the data increases horizontally and vertically, it will automatically take the range. Now I will add some dummy lines to the data.

Now I will once again run this code. It will now add the newly added lines as well.

Code:

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.
  • Εάν ο πίνακας έχει περισσότερες από μία ιδιότητες, τότε πρέπει επίσης να καθορίσετε τον αριθμό διάστασης.

ενδιαφέροντα άρθρα...