Excel VBA XLUP
Ένα πράγμα που πρέπει να έχετε κατά νου κατά τη σύνταξη κώδικα VBA είναι αυτό που κάνετε με το κανονικό φύλλο εργασίας και μπορείτε να αντιγράψετε το ίδιο πράγμα και στο VBA. Μια τέτοια λέξη-κλειδί στην κωδικοποίηση VBA είναι το "XLUP" σε αυτό το άρθρο. Θα σας δείξουμε ποια είναι αυτή η λέξη-κλειδί στην κωδικοποίηση VBA και πώς να τη χρησιμοποιήσετε στην κωδικοποίηση.

Πώς να χρησιμοποιήσετε το VBA XLUP στην κωδικοποίηση;
Ακολουθούν τα παραδείγματα του excel VBA XLUP.
Παράδειγμα # 1 - Μετακίνηση κελιών σε διαγραμμένη θέση κελιών
Για παράδειγμα, ρίξτε μια ματιά στο σενάριο των παρακάτω δεδομένων, όπου πρέπει να διαγράψετε αυτά τα δεδομένα χρωματισμένων κελιών και περισσότερο τα δεδομένα των παρακάτω γραμμών στα παραπάνω δεδομένα.

Ένας τρόπος διαγραφής αυτού στο φύλλο εργασίας είναι να επιλέξετε εκείνα τα κελιά στα οποία μπορούμε απλά να διαγράψουμε ολόκληρη τη σειρά. Αλλά εδώ, οι καταστάσεις είναι λίγο δύσκολες επειδή έχω χρωματισμένα κελιά στον Πίνακα 1 όταν διαγράφουμε ολόκληρη τη σειρά, ακόμη και οι σειρές του Πίνακα 2 διαγράφονται επίσης, αλλά δεν θέλουμε να συμβεί αυτό. Αντ 'αυτού, πρέπει μόνο να διαγράψουμε έγχρωμες σειρές και κάτω από τα κελιά πρέπει να ανεβάσουμε τη θέση των διαγραμμένων κελιών.
Αρχικά, επιλέξτε τα χρωματιστά κελιά και πατήστε Ctrl + Μείον Σύμβολο (-) για να ανοίξετε την επιλογή «Διαγραφή».
Πλήκτρο συντόμευσης για να ανοίξετε την επιλογή "Διαγραφή"


Στο παράθυρο επιλογών "διαγραφή", έχουμε τέσσερις επιλογές. Μπορούμε να επιλέξουμε τη δράση σύμφωνα με τις απαιτήσεις μας. Δεδομένου ότι πρέπει να ανεβάσουμε τα κελιά μας για αυτά τα διαγραμμένα κελιά, επιλέξτε "Shift Cell Up".

Θα έχουμε αμετάβλητες σειρές πίνακα 2.

Αυτή η ενέργεια στο VBA απαιτεί τη χρήση της ιδιότητας "XLUP" για την εκτέλεση παρόμοιου συνόλου ενεργειών στο VBA. Ελάτε τώρα στο παράθυρο του προγράμματος επεξεργασίας VBA και ξεκινήστε το όνομα της μακροεντολής σας.
Κώδικας:
Υπο XLUP_ Παράδειγμα () End Sub

Αρχικά, παρέχετε το RANGE κελιού που θα συμπεριληφθεί σε αυτήν τη λειτουργία. Σε αυτήν την ενέργεια, τα πρώτα κελιά που πρέπει να διαγραφούν και να μετακινηθούν προς τα πάνω είναι τα κελιά "A5: B5".
Κώδικας:
Υπο XLUP_ Παράδειγμα () Εύρος ("A5: B5") End Sub

Για αυτό το εύρος κελιών, επιλέξτε τη μέθοδο "Διαγραφή".
Κώδικας:
Sub XLUP_Example () Εύρος ("A5: B5"). Διαγραφή End Sub

Όπως μπορείτε να δείτε για τη μέθοδο "Διαγραφή", έχουμε ένα προαιρετικό όρισμα ως (Shift). Για αυτό το επιχείρημα, πρέπει να εισαγάγουμε το όρισμα ως "XLUP".
Κώδικας:
Sub XLUP_Example () Range ("A5: B5"). Διαγραφή μετατόπισης: = xlUnd End Sub
Τώρα μπορείτε να εκτελέσετε αυτόν τον κώδικα χειροκίνητα ή μέσω του πλήκτρου F5 συντόμευσης για να δείτε το αποτέλεσμα.

As you can see in Table 1, we have row number 6 moved up to 5th row, and on the other hand Table, 2 row (colored) is unaltered, so by using the “VBA XLUP” option, we can do this operation.
Example #2 - Find Last Used Row by using XLUP
Imagine a situation where you are in the A20th cell (look at below image), and your last-used cell is A14.

Now, if you want to choose the last used cell (A14), how will you do by using a shortcut key???
We would use Ctrl + Up Arrow key to move to the last used cell from the current position.
Shortcut Key to Move to Last used Cell


So, from the current cell, Ctrl + Up arrow selected the last used cell. Similarly, in VBA coding, we use END (XLUP) to perform the same.
Now come back to VBA coding window.
In this window, we will perform the task of finding the last used row in the worksheet. Create a new subprocedure in the VBA window.
Code:
Sub XLUP_Example1() End Sub

To store the last used row number. define the variable as the VBA LONG data type.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long End Sub
Now for this variable, we will assign the last used row number.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Last_Row_Number = End Sub

Now use the RANGE object and open this object.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Last_Row_Number = Range( End Sub

Now mention the active cell (A20) for RANGE object.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20") End Sub

Now open END property for supplied range cell.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End( End Sub

As you can see above, we have to arrow key options like “xlDown,” “xlToLeft,” “xlToRight,” “xlUp.” Since we are moving up from the A14 cell, choose the “VBA XLUP” option.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End(xlUp) End Sub
After moving up from A14 cell, we need to mention what we need to do since we need the last used row number, I will use ROW property.
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End(xlUp).Row End Sub

Now for the message box, assign the value of variable “Last_Row_Number.”
Code:
Sub XLUP_Example1() Dim Last_Row_Number As Long Range("A14").Select Last_Row_Number = Range("A20").End(xlUp).Row MsgBox Last_Row_Number End Sub
Now you can run this code manually or through shortcut key F5 to see the result.

So message box showing the last used row number as 14, so our last data used row number is A14 cell.
In this case, since the data is very small, we started the room cell, but when the data is large, we cannot say which cell to take into consideration first. In such cases, we need to employ a different technique.
We need to use CELLS property. Below is an example of the same.
Code:
Sub XLUP_Example2() Dim Last_Row_Number As Long Last_Row_Number = Cells(Rows.Count, 1).End(xlUp).Row MsgBox Last_Row_Number End Sub
Now you can run this code manually or through shortcut key F5 to see the result.

Αντί για αντικείμενο RANGE, έχω χρησιμοποιήσει την ιδιότητα CELLS. Επιτρέψτε μου να σας το εξηγήσω λεπτομερώς.
ROW.COUNT αυτό θα μετρήσει πόσες σειρές υπάρχουν στη στήλη 1. Αυτό που θα κάνει είναι να λάβει υπόψη το τελευταίο κελί στο φύλλο εργασίας αντί για τη διεύθυνση τυχαίου κελιού. Στην παραπάνω περίπτωση, χρησιμοποιήσαμε το A14 ως τυχαία διεύθυνση κελιού.
Πράγματα που πρέπει να θυμάστε για το VBA XLUP
- Το XLUP είναι η λέξη που χρησιμοποιείται στον κώδικα VBA για να αναπαράγει τη δράση του πλήκτρου "Up Arrow" στο excel.
- Το VBA XLUP χρησιμοποιείται για μετακίνηση από ενεργά κελιά στο παραπάνω κελί ή στο κελί που χρησιμοποιήθηκε τελευταία.
- Το XLUP χρησιμοποιείται γενικά μαζί με την ιδιότητα END στο VBA.