Η εύρεση της τελευταίας γραμμής και στήλης που χρησιμοποιείται είναι μία από τις βασικές και σημαντικές εργασίες για κάθε αυτοματοποίηση στο excel χρησιμοποιώντας VBA. Για τη συλλογή φύλλων, βιβλίων εργασίας και αυτόματη τακτοποίηση δεδομένων, απαιτείται να βρείτε το όριο των δεδομένων στα φύλλα.
Αυτό το άρθρο θα εξηγήσει κάθε μέθοδο εύρεσης της τελευταίας γραμμής και στήλης στο excel με τους ευκολότερους τρόπους.
1. Βρείτε την τελευταία μη κενή σειρά σε μια στήλη χρησιμοποιώντας το εύρος. Τέλος
Ας δούμε πρώτα τον κωδικό. Θα το εξηγήσω γράμμα.
Sub getLastUsedRow () Dim last_row As Integer last_row = Κελιά (Rows.Count, 1). End (xlUp). Row ‘Αυτή η γραμμή παίρνει την τελευταία σειρά Debug.Print last_row End Sub
Το παραπάνω δευτερεύον τμήμα βρίσκει την τελευταία σειρά στη στήλη 1.
Πως δουλεύει?
Είναι ακριβώς σαν να πηγαίνετε στην τελευταία σειρά στο φύλλο και στη συνέχεια να πατάτε τη συντόμευση CTRL+UP.
Κελιά (Rows. Count, 1): Αυτό το μέρος επιλέγει το κελί στη στήλη A. Rows. Ο αριθμός δίνει 1048576, που είναι συνήθως η τελευταία σειρά στο φύλλο excel.
Κελιά (1048576, 1)
.Τέλος (xlUp): Το τέλος είναι μια μέθοδος κλάσης εύρους που χρησιμοποιείται για πλοήγηση σε φύλλα προς άκρα. xlUp είναι η μεταβλητή που λέει την κατεύθυνση. Μαζί αυτή η εντολή επιλέγει την τελευταία σειρά με δεδομένα.
Κελιά (Rows.Count, 1). Τέλος (xlUp)
.Σειρά: γραμμή επιστρέφει τον αριθμό σειράς του επιλεγμένου κελιού. Ως εκ τούτου, παίρνουμε τον αριθμό σειράς του τελευταίου κελιού με δεδομένα στη στήλη A. στο εξωτερικό παράδειγμα είναι 8.
Δείτε πόσο εύκολο είναι να βρείτε τις τελευταίες σειρές με δεδομένα. Αυτή η μέθοδος θα επιλέξει την τελευταία σειρά στα δεδομένα, ανεξάρτητα από τα κενά κελιά πριν από αυτήν. Μπορείτε να δείτε ότι στην εικόνα μόνο το κελί A8 έχει δεδομένα. Όλα τα προηγούμενα κελιά είναι κενά εκτός από το Α4.
Επιλέξτε το τελευταίο κελί με δεδομένα σε μια στήλη
Εάν θέλετε να επιλέξετε το τελευταίο κελί σε μια στήλη Α, απλώς αφαιρέστε το ".row" από το τέλος και γράψτε .select.
Sub getLastUsedRow () Κελιά (Rows.Count, 1). End (xlUp). Επιλέξτε "Αυτή η γραμμή επιλέγει το τελευταίο κελί σε μια στήλη Τέλος υπο
Η εντολή ".Select" επιλέγει το ενεργό κελί.
Λήψη της στήλης διεύθυνσης τελευταίου κελιού
Εάν θέλετε να λάβετε τη διεύθυνση του τελευταίου κελιού σε μια στήλη Α, απλώς αφαιρέστε το ".row" από το τέλος και γράψτε .address.
Sub getLastUsedRow () add = Cells (Rows.Count, 1). End (xlUp) .address ‘Αυτή η γραμμή επιλέγει το τελευταίο κελί σε μια στήλη Debug.print add End Sub
Το εύρος.Διεύθυνση η συνάρτηση επιστρέφει τη διεύθυνση του activecell.
Εύρεση τελευταίας μη κενής στήλης σε σειρά
Είναι σχεδόν ίδιο με το να βρείτε το τελευταίο μη κενό κελί σε μια στήλη. Εδώ λαμβάνουμε τον αριθμό στήλης του τελευταίου κελιού με δεδομένα στη σειρά 4.
Sub getLastUsedCol () Dim last_col As Integer last_col = Cells (4, Columns.Count). End (xlToLeft). Colon ‘Αυτή η γραμμή παίρνει την τελευταία στήλη Debug.Print last_col End Sub
Μπορείτε να δείτε στην εικόνα ότι επιστρέφει τον αριθμό στήλης του τελευταίου μη κενού κελιού στη σειρά 4. Που είναι 4.
Πως δουλεύει?
Λοιπόν, η μηχανική είναι ίδια με την εύρεση του τελευταίου κελιού με δεδομένα σε μια στήλη. Απλώς χρησιμοποιήσαμε λέξεις -κλειδιά που σχετίζονται με στήλες.
Επιλέξτε Σύνολο δεδομένων στο Excel χρησιμοποιώντας VBA
Τώρα γνωρίζουμε πώς να αποκτήσετε την τελευταία σειρά και την τελευταία στήλη του excel χρησιμοποιώντας το VBA. Χρησιμοποιώντας αυτό μπορούμε να επιλέξουμε έναν πίνακα ή ένα σύνολο δεδομένων εύκολα. Μετά την επιλογή συνόλου δεδομένων ή πίνακα, μπορούμε να κάνουμε διάφορες λειτουργίες σε αυτά, όπως αντιγραφή-επικόλληση, διαμόρφωση, διαγραφή κ.λπ.
Εδώ έχουμε ένα σύνολο δεδομένων. Αυτά τα δεδομένα μπορούν να επεκταθούν προς τα κάτω. Μόνο το αρχικό κελί είναι σταθερό, το οποίο είναι Β4. Η τελευταία γραμμή και στήλη δεν είναι σταθερή. Πρέπει να επιλέξουμε ολόκληρο τον πίνακα δυναμικά χρησιμοποιώντας το vba.
Κωδικός VBA για να επιλέξετε πίνακα με κενά κελιά
Sub select_table () Dim last_row, last_col As Long 'Get last row last_row = Cells (Rows.Count, 2). End (xlUp). Row' Get last column last_col = Cells (4, Columns.Count). End (xlToLeft) . Στήλη 'Επιλογή ολόκληρου εύρους πίνακα (Κελιά (4, 2), Κελιά (last_row, last_col)). Επιλέξτε Τέλος υπο.
Όταν το εκτελέσετε, ολόκληρος ο πίνακας θα επιλεγεί σε κλάσματα δευτερολέπτου. Μπορείτε να προσθέσετε νέες γραμμές και στήλες. Θα επιλέγει πάντα ολόκληρα τα δεδομένα.
Οφέλη αυτής της μεθόδου:
- Είναι εύκολο. Γράψαμε κυριολεκτικά μόνο μία γραμμή για να πάρουμε την τελευταία σειρά με δεδομένα. Αυτό το καθιστά εύκολο.
- Γρήγορα. Λιγότερη γραμμή κώδικα, λιγότερος χρόνος.
- Ευνόητος.
- Λειτουργεί τέλεια εάν έχετε αδέξιο πίνακα δεδομένων με σταθερό σημείο εκκίνησης.
Μειονεκτήματα του εύρους. Τελική μέθοδος:
- Το σημείο εκκίνησης πρέπει να είναι γνωστό.
- Μπορείτε να λάβετε μόνο το τελευταίο μη κενό κελί σε γνωστή γραμμή ή στήλη. Όταν η αφετηρία σας δεν είναι σταθερή, θα είναι άχρηστη. Κάτι που είναι πολύ λιγότερο πιθανό να συμβεί.
2. Εύρεση τελευταίας γραμμής χρησιμοποιώντας τη συνάρτηση Εύρεση ()
Ας δούμε πρώτα τον κωδικό.
Sub last_row () lastRow = ActiveSheet.Cells.Find ("*", searchorder: = xlByRows, searchdirection: = xlΠροηγούμενο) .Row Debug.Print lastRow End Sub
Όπως μπορείτε να δείτε αυτό στην εικόνα, αυτός ο κώδικας επιστρέφει με ακρίβεια την τελευταία σειρά.
Πως δουλεύει?
Εδώ χρησιμοποιούμε τη λειτουργία εύρεσης για να βρούμε οποιοδήποτε κελί που περιέχει οτιδήποτε χρησιμοποιώντας τον χειριστή μπαλαντέρ "*". Ο αστερίσκος χρησιμοποιείται για να βρει οτιδήποτε, κείμενο ή αριθμό.
Ορίζουμε τη σειρά αναζήτησης ανά σειρά (searchorder: = xlByRows). Λέμε επίσης στο excel vba την κατεύθυνση της αναζήτησης ως xlPrevious (searchdirection: = xlPrevenue). Κάνει τη λειτουργία εύρεσης για αναζήτηση από το τέλος του φύλλου, ανάλογα με τη σειρά. Μόλις βρει ένα κελί που περιέχει οτιδήποτε, σταματά. Χρησιμοποιούμε τη μέθοδο Range.Row για ανάκτηση της τελευταίας σειράς από το ενεργό κελί.
Οφέλη από τη λειτουργία Εύρεση για λήψη τελευταίου κελιού με δεδομένα:
- Δεν χρειάζεται να γνωρίζετε την αφετηρία. Σου βγάζει μόλις την τελευταία σειρά.
- Μπορεί να είναι γενική και μπορεί να χρησιμοποιηθεί για την εύρεση του τελευταίου κελιού με δεδομένα σε οποιοδήποτε φύλλο χωρίς καμία αλλαγή.
- Μπορεί να χρησιμοποιηθεί για την εύρεση οποιασδήποτε τελευταίας στιγμής συγκεκριμένου κειμένου ή αριθμού στο φύλλο.
Μειονεκτήματα της συνάρτησης Find ():
- Είναι άσχημο. Πάρα πολλά επιχειρήματα.
- Είναι αργό.
- Δεν μπορεί να χρησιμοποιηθεί για λήψη τελευταίας μη κενής στήλης. Τεχνικά, μπορείτε. Αλλά γίνεται πολύ αργό.
3. Χρήση της λειτουργίας SpecialCells To Get Last Row
Η συνάρτηση SpecialCells με το όρισμα xlCellTypeLastCell επιστρέφει το τελευταίο κελί που χρησιμοποιήθηκε. Ας δούμε πρώτα τον κωδικό
Sub spl_last_row_ () lastRow = ActiveSheet.Cells.SpecialCells (xlCellTypeLastCell).Row Debug.Print lastRow End End
Εάν εκτελέσετε τον παραπάνω κώδικα, θα λάβετε τον αριθμό σειράς του τελευταίου κελιού που χρησιμοποιήθηκε.
Πως δουλεύει?
Αυτό είναι το ισοδύναμο vba της συντόμευσης CTRL+Τέλος στο excel. Επιλέγει το τελευταίο κελί που χρησιμοποιήθηκε. Εάν καταγράψετε τη μακροεντολή πατώντας CTRL+Τέλος, θα λάβετε αυτόν τον κωδικό.
Sub Macro1 () '' Macro1 Macro '' ActiveCell.SpecialCells (xlLastCell). Επιλέξτε End Sub
Μόλις το χρησιμοποιήσαμε για να πάρουμε τον αριθμό σειράς του τελευταίου μεταχειρισμένου κελιού.
Σημείωση: Όπως είπα παραπάνω, αυτή η μέθοδος θα επιστρέψει το τελευταίο κελί που χρησιμοποιήθηκε και όχι το τελευταίο κελί με δεδομένα. Εάν διαγράψετε τα δεδομένα στο τελευταίο κελί, ο παραπάνω κώδικας vba θα συνεχίσει να επιστρέφει την ίδια αναφορά κελιών, αφού ήταν το "τελευταίο κελί που χρησιμοποιήθηκε". Πρέπει πρώτα να αποθηκεύσετε το έγγραφο για να λάβετε δεδομένα στο τελευταίο κελί χρησιμοποιώντας αυτήν τη μέθοδο.
Διαγράψτε φύλλα χωρίς προτροπές επιβεβαίωσης χρησιμοποιώντας VBA στο Microsoft Excel
Προσθήκη και αποθήκευση νέου βιβλίου εργασίας χρησιμοποιώντας το VBA στο Microsoft Excel 2016
Εμφάνιση μηνύματος στη γραμμή κατάστασης του Excel VBA
Απενεργοποιήστε τα μηνύματα προειδοποίησης χρησιμοποιώντας το VBA στο Microsoft Excel 2016
Δημοφιλή άρθρα:
Η συνάρτηση VLOOKUP στο Excel
COUNTIF στο Excel 2016
Πώς να χρησιμοποιήσετε τη συνάρτηση SUMIF στο Excel