VBA XLUP | Πώς να χρησιμοποιήσετε το VBA XLUP στο Excel; (με παραδείγματα)

Excel VBA XLUP

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

Πώς να χρησιμοποιήσετε το VBA XLUP στην κωδικοποίηση;

Ακολουθούν τα παραδείγματα του excel VBA XLUP.

Μπορείτε να κατεβάσετε αυτό το Πρότυπο VBA XLUP Excel εδώ - Πρότυπο VBA XLUP Excel

Παράδειγμα # 1 - Μετακίνηση κελιών σε διαγραμμένη θέση κελιών

Για παράδειγμα, ρίξτε μια ματιά στο σενάριο των παρακάτω δεδομένων, όπου πρέπει να διαγράψετε αυτά τα δεδομένα χρωματισμένων κελιών και περισσότερο τα δεδομένα των παρακάτω γραμμών στα παραπάνω δεδομένα.

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

Αρχικά, επιλέξτε τα χρωματιστά κελιά και πατήστε Ctrl + Μείον Σύμβολο (-) για να ανοίξετε την επιλογή «Διαγραφή».

Πλήκτρο συντόμευσης για να ανοίξετε την επιλογή "Διαγραφή"

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

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

Αυτή η ενέργεια στο VBA απαιτεί τη χρήση της ιδιότητας "XLUP" για την εκτέλεση παρόμοιου συνόλου ενεργειών στο VBA. Ελάτε τώρα στο παράθυρο του προγράμματος επεξεργασίας VBA και ξεκινήστε το όνομα της μακροεντολής σας.

Κώδικας:

 Υπο XLUP_ Παράδειγμα () End Sub 

Πρώτα προμηθεύστε το RANGE κελιού που θα συμπεριληφθεί σε αυτήν τη λειτουργία Σε αυτήν την ενέργεια, τα πρώτα κελιά που πρέπει να διαγραφούν και να μετακινηθούν προς τα πάνω είναι τα κελιά "A5: B5".

Κώδικας:

 Υπο XLUP_ Παράδειγμα () Εύρος ("A5: B5") End Sub 

Για αυτό το εύρος κελιών επιλέξτε τη μέθοδο «Διαγραφή».

Κώδικας:

 Υπο XLUP_Example () Εύρος ("A5: B5"). Διαγραφή End Sub 

Όπως μπορείτε να δείτε για τη μέθοδο "Διαγραφή", έχουμε ένα προαιρετικό όρισμα ως [Shift], για αυτό το όρισμα πρέπει να εισαγάγουμε το όρισμα ως "XLUP".

Κώδικας:

 Sub XLUP_Example () Εύρος ("A5: B5"). Διαγραφή μετατόπισης: = xl Επάνω End Sub 

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

Όπως μπορείτε να δείτε στον Πίνακα 1, έχουμε τη σειρά αριθμού 6 μετακινηθεί μέχρι την 5η σειρά και από την άλλη πλευρά Πίνακας, η σειρά 2 (έγχρωμη) είναι αμετάβλητη, οπότε χρησιμοποιώντας την επιλογή "VBA XLUP" μπορούμε να κάνουμε αυτήν τη λειτουργία.

Παράδειγμα # 2 - Βρείτε τη γραμμή που χρησιμοποιήθηκε τελευταία χρησιμοποιώντας το XLUP

Φανταστείτε μια κατάσταση όπου βρίσκεστε στο κελί Α20 (δείτε την παρακάτω εικόνα) και το κελί σας που χρησιμοποιήσατε τελευταία φορά είναι το Α14.

Τώρα, εάν θέλετε να επιλέξετε το τελευταίο χρησιμοποιημένο κελί (A14). πώς θα το κάνετε χρησιμοποιώντας ένα πλήκτρο συντόμευσης ;;;

Θα χρησιμοποιούσαμε το πλήκτρο Ctrl + Up Arrow για να μετακινηθούμε στο κελί που χρησιμοποιήθηκε τελευταία από την τρέχουσα θέση.

Πλήκτρο συντόμευσης για μετακίνηση στο κελί που χρησιμοποιήθηκε τελευταία 

Έτσι, από το τρέχον κελί, το Ctrl + Πάνω βέλος επέλεξε το τελευταίο κελί που χρησιμοποιήθηκε. Ομοίως, στην κωδικοποίηση VBA χρησιμοποιούμε το END (XLUP) για να εκτελέσουμε το ίδιο.

Τώρα επιστρέψτε στο παράθυρο κωδικοποίησης VBA.

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

Κώδικας:

 Υπο XLUP_Example1 () End Sub 

Για να αποθηκεύσετε τον αριθμό γραμμής που χρησιμοποιήθηκε τελευταία. ορίστε τη μεταβλητή ως τύπο δεδομένων VBA LONG.

Κώδικας:

 Υπο XLUP_Example1 () Dim Last_Row_Number ως Long End Sub 

Τώρα για αυτήν τη μεταβλητή, θα εκχωρήσουμε τον αριθμό γραμμής που χρησιμοποιήθηκε τελευταία.

Κώδικας:

 Υπο XLUP_Example1 () Dim Last_Row_Number As Last Last_Row_Number = End Sub 

Τώρα χρησιμοποιήστε το αντικείμενο RANGE και ανοίξτε αυτό το αντικείμενο.

Κώδικας:

 Υπο XLUP_Example1 () Dim Last_Row_Number As Long Last_Row_Number = Range (End Sub 

Τώρα αναφέρετε το ενεργό κελί (A20) για αντικείμενο RANGE .

Κώδικας:

 Υπο XLUP_Example1 () Dim Last_Row_Number As Long Range ("A14"). Επιλέξτε Last_Row_Number = Range ("A20") End Sub 

Τώρα ανοίξτε την ιδιότητα END για το παρεχόμενο κελί εύρους.

Κώδικας:

 Υπο XLUP_Example1 () Dim Last_Row_Number As Long Range ("A14"). Επιλέξτε Last_Row_Number = Range ("A20"). End (End Sub 

Όπως μπορείτε να δείτε παραπάνω, πρέπει να επιλέξουμε βασικές επιλογές όπως "xlDown", "xlToLeft", "xlToRight", "xlUp". Επειδή ανεβαίνουμε από το κελί A14 επιλέξτε την επιλογή "VBA XLUP".

Κώδικας:

 Υπο XLUP_Example1 () Dim Last_Row_Number As Long Range ("A14"). Επιλέξτε Last_Row_Number = Range ("A20"). End (xlUp) End Sub 

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

Κώδικας:

 Υπο XLUP_Example1 () Dim Last_Row_Number As Long Range ("A14"). Επιλέξτε Last_Row_Number = Range ("A20"). End (xlUp). Sub End Sub 

Τώρα για το πλαίσιο μηνύματος εκχωρήστε την τιμή της μεταβλητής "Last_Row_Number" .

Κώδικας:

 Υπο XLUP_Example1 () Dim Last_Row_Number As Long Range ("A14"). Επιλέξτε Last_Row_Number = Range ("A20"). End (xlUp). Row MsgBox Last_Row_Number End Sub 

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

Έτσι, το πλαίσιο μηνύματος που δείχνει τον αριθμό γραμμής που χρησιμοποιήθηκε τελευταία ως 14, έτσι ο αριθμός σειράς που χρησιμοποιήθηκε τελευταία είναι το κελί A14

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

Πρέπει να χρησιμοποιήσουμε την ιδιότητα CELLS, παρακάτω είναι το παράδειγμα του ίδιου.

Κώδικας:

 Υπο XLUP_Example2 () Dim Last_Row_Number As Last Last_Row_Number = Cells (Rows.Count, 1). End (xlUp) .Row MsgBox Last_Row_Number End Sub 

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

Αντί για αντικείμενο RANGE, έχω χρησιμοποιήσει την ιδιότητα CELLS. Επιτρέψτε μου να σας το εξηγήσω λεπτομερώς.

ROW.COUNT αυτό θα μετρήσει πόσες σειρές υπάρχουν στη στήλη 1. Αυτό που θα κάνει είναι να λάβει υπόψη το τελευταίο κελί στο φύλλο εργασίας αντί για τυχαία διεύθυνση κελιού, στην παραπάνω περίπτωση έχουμε χρησιμοποιήσει το A14 ως τυχαίο κελί διεύθυνση.

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

  • Το XLUP είναι η λέξη που χρησιμοποιείται στον κώδικα VBA για να αναπαράγει τη δράση του κλειδιού "Up Arrow" στο excel.
  • Το VBA XLUP χρησιμοποιείται για τη μετάβαση από ενεργά κελιά στο παραπάνω κελί ή στο κελί που χρησιμοποιήθηκε τελευταία.
  • Το XLUP χρησιμοποιείται γενικά μαζί με την ιδιότητα END στο VBA.