Μεταβλητή Excel VBA σε εύρος
Οι μεταβλητές είναι η καρδιά και η ψυχή οποιωνδήποτε μεγάλων έργων VBA δεδομένου ότι οι μεταβλητές είναι καρδιά και ψυχή, τότε το είδος του τύπου δεδομένων που τους αναθέτουμε είναι επίσης ένας πολύ σημαντικός παράγοντας από αυτή την άποψη. Σε πολλά προηγούμενα άρθρα μας, έχουμε συζητήσει πολλές φορές για τις μεταβλητές και τη σημασία του τύπου δεδομένων τους. Μία τέτοια μεταβλητή και τύπος δεδομένων είναι "Range Variable" σε αυτό το ειδικό ειδικό άρθρο. Θα δώσουμε έναν πλήρη οδηγό για το "Range Variable" στο excel VBA.
Τι είναι η μεταβλητή εύρους στο Excel VBA;
Όπως κάθε άλλη μεταβλητή εύρος στο VBA, η μεταβλητή είναι επίσης μεταβλητή, αλλά είναι μια «μεταβλητή αντικειμένου» που χρησιμοποιούμε για να ορίσουμε την αναφορά του συγκεκριμένου εύρους κελιών.
Όπως κάθε άλλη μεταβλητή, μπορούμε να δώσουμε οποιοδήποτε όνομα στη μεταβλητή, αλλά ο τύπος δεδομένων που τους εκχωρούμε πρέπει να είναι "Range". Μόλις ο τύπος δεδομένων εκχωρηθεί στη μεταβλητή, γίνεται "Μεταβλητή αντικειμένου" και σε αντίθεση με μια άλλη μεταβλητή, δεν μπορούμε να αρχίσουμε να χρησιμοποιούμε τη μεταβλητή πριν ορίσουμε την αναφορά αντικειμένων σε περίπτωση μεταβλητών αντικειμένων.
Έτσι, αφού δηλώσουμε τη μεταβλητή, πρέπει να χρησιμοποιήσουμε τη λέξη-κλειδί «SET» για να ορίσουμε την αναφορά αντικειμένου, δηλαδή, αντικείμενο Range σε αυτήν την περίπτωση.
Εντάξει, τώρα θα δούμε μερικά από τα παραδείγματα του VBA Range Variables πρακτικά.

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

Για να επιλέξετε αυτό το αναφερόμενο εύρος κελιών, όλα αυτά ενώ έχουμε αντικείμενο RANGE και μέσα στο αντικείμενο εύρους, έχουμε αναφέρει τη διεύθυνση κελιού σε διπλά εισαγωγικά.
Κώδικας:
Sub Range_Variable_Example () Range ("A2: B10") End Sub

Μόλις αναφέρεται το εύρος των κελιών χρησιμοποιώντας αντικείμενο RANGE, αν βάλετε μια τελεία, θα δούμε όλες τις ιδιότητες και τις μεθόδους που σχετίζονται με αυτό το αντικείμενο εύρους.
Κώδικας:
Sub Range_Variable_Example () Range ("A2: B10"). Τέλος Υποτ

Επειδή πρέπει να επιλέξουμε τα αναφερόμενα κελιά απλά, επιλέξτε τη μέθοδο "Επιλογή" από τη λίστα IntelliSense.
Κώδικας:
Sub Range_Variable_Example () Range ("A2: B10"). Επιλέξτε End Sub

Εκτελέστε τον κωδικό και θα επιλέξει τα αναφερόμενα κελιά.

Αυτό είναι προφανές, έτσι δεν είναι, αλλά φανταστείτε το σενάριο χρήσης του ίδιου εύρους στο μακρύ έργο VBA, ας πούμε εκατοντάδες φορές, γράφοντας τον ίδιο κωδικό "Range (" A2: A10 ")" 100 φορές θα χρειαστεί λίγος χρόνος, αλλά αντ 'αυτού θα δηλώσουμε τη μεταβλητή και θα εκχωρήσουμε τον τύπο δεδομένων ως αντικείμενο "Range".
Εντάξει, ας δώσουμε το δικό σας όνομα σε μια μεταβλητή και αντιστοιχίστε τον τύπο δεδομένων ως "Range".

Εκτός από τις "Μεταβλητές αντικειμένου", μπορούμε να αρχίσουμε να χρησιμοποιούμε τις μεταβλητές με το όνομά τους, αλλά στην περίπτωση των "Μεταβλητές αντικειμένου", πρέπει να ορίσουμε την αναφορά.
Για παράδειγμα, σε αυτήν την περίπτωση, το αντικείμενο μεταβλητής (Rng) είναι ένα εύρος, επομένως πρέπει να ορίσουμε την αναφορά στη λέξη "Rng" στην οποία αναφέρεται. Για να ορίσουμε την αναφορά, πρέπει να χρησιμοποιήσουμε τη λέξη-κλειδί "Ορισμός".

Now the variable “Rng” refers to the range of cells from A2 to B10. Instead of writing “Range(“A2:B10”))” every time, we can simply write the word “Rng.”
In the next line, mention the variable name “Rng” and put a dot to see the magic.

As you can see above, we can see all the properties and methods of range objects like the previous one.
Make the Variable Dynamic
Now we know how to set the reference to the range of cells, but once we mention the range of cells, it sticks to those cells only. Any addition or deletion of cells will not impact those cells.
So, finding the new range of cells after any addition or deletion of cells makes the variable dynamic in nature. This is possible by finding the last used row and column.
To find the last used row and column, we need to define two more variables.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding End Sub

Now below code will find the last used row & column before we set the reference to a range object variable.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column End Sub

Now open the “Set” keyword statement.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = End Sub

Unlike the previous method, we use VBA CELLS properties this time.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1) End Sub

I have mentioned Cells(1,1), i.e., this refers to the first cell in the active sheet, but we need the data range reference, so use the “RESIZE” property and mention “last used row & column” variables.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1).Resize(LR, LC) End Sub

Τώρα αυτό θα ορίσει την πιο πρόσφατη αναφορά στη μεταβλητή αντικειμένου εύρους "Rng." Στη συνέχεια, αναφέρετε το όνομα της μεταβλητής και χρησιμοποιήστε τη μέθοδο "Επιλογή".
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long' LC = Last Column for Understanding LR = Cells (Rows.Count, 1). End (xlUp) .Row LC = Cells (1, Columns.Count). End (xlToLeft). Set Column Rng = Cells (1, 1). Resize (LR, LC) Rng. Επιλέξτε End Sub
Τώρα θα προσθέσω μερικές ακόμη γραμμές στα δεδομένα μου.

Έχω προσθέσει τρεις επιπλέον γραμμές δεδομένων. Εάν εκτελώ τον κώδικα τώρα, θα πρέπει να επιλέξει το πιο πρόσφατο εύρος δεδομένων.

Πράγματα που πρέπει να θυμάστε
- Η μεταβλητή εύρους στο excel VBA είναι μια μεταβλητή αντικειμένου.
- Όποτε χρησιμοποιούμε τη μεταβλητή αντικειμένου, πρέπει να χρησιμοποιούμε τη λέξη-κλειδί "Set" και να ορίζουμε την αναφορά αντικειμένου στη μεταβλητή
- Χωρίς να ορίσουμε την αναφορά, δεν μπορούμε να χρησιμοποιήσουμε μια μεταβλητή αντικειμένου.