Πίνακας περιεχομένων
Στο VBA μπορείτε να χρησιμοποιήσετε διαφορετικές μεθόδους για να βρείτε την τελευταία γραμμή. Σε αυτό το άρθρο, θα εξηγήσω τις διαφορετικές μεθόδους του VBA για την εύρεση της τελευταίας γραμμής στο Excel.
Για να γίνει ορατή αυτή η εξήγηση, θα χρησιμοποιήσω ένα δείγμα συνόλου δεδομένων. Υπάρχουν 4 στήλες στο σύνολο δεδομένων που αντιπροσωπεύουν πληροφορίες για τις πωλήσεις. Οι στήλες αυτές είναι οι εξής Άτομο πωλήσεων, περιοχή, προϊόν, και Τιμή .
Κατεβάστε για να εξασκηθείτε
VBA Εύρεση τελευταίας row.xlsmΤρόποι για να βρείτε την τελευταία γραμμή VBA στο Excel
1. Χρήση των SpecialCells για την εύρεση της τελευταίας γραμμής
Μπορείτε να χρησιμοποιήσετε το SpecialCells μέθοδο για να βρείτε την τελευταία γραμμή χρησιμοποιώντας VBA .
Πρώτα, ανοίξτε το Προγραμματιστής tab>> στη συνέχεια επιλέξτε Visual Basic
Ένα νέο παράθυρο Microsoft Visual Basic για εφαρμογές θα εμφανιστεί.
Τώρα, από Εισαγωγή >> επιλέξτε Ενότητα
A Ενότητα θα ανοίξει.
Στη συνέχεια, γράψτε τον ακόλουθο κώδικα στο Ενότητα .
Sub LastRow_SpecialCells() Dim LastRow As Long LastRow = Range("A:A").SpecialCells(xlCellTypeLastCell).Row MsgBox LastRow End Sub
Εδώ, δημιούργησα μια υποδιαδικασία που ονομάζεται LastRow_SpecialCells , όπου a Μακρύ τύπος μεταβλητής LastRow έχει δηλωθεί.
Στη συνέχεια, ορίστε τη μεταβλητή χρησιμοποιώντας την εντολή Range.SpecialCells Εδώ, χρησιμοποίησα τη στήλη A ( A:A ) ως εύρος. xlCellTypeLastCell ως παράμετρος τύπου της SpecialCells , αυτό θα επιστρέψει το τελευταίο κελί για την περιοχή (στην προκειμένη περίπτωση, από τη στήλη A ).
Χρησιμοποίησα ένα πλαίσιο μηνυμάτων για να δείξω το αποτέλεσμα.
Μετά από αυτό, Αποθήκευση τον κώδικα και επιστρέψτε στο φύλλο εργασίας.
Και πάλι, ανοίξτε το Προβολή καρτέλα>> από Μακροεντολές >> επιλέξτε Προβολή μακροεντολών
Στη συνέχεια, ένα παράθυρο διαλόγου θα εμφανιστεί.
Τώρα, από το Όνομα μακροεντολής επιλέξτε το LastRow_SpecialCells επιλέξτε επίσης το βιβλίο εργασίας μέσα στο Μακροεντολές σε .
Τέλος, Εκτέλεση το επιλεγμένο Μάκρο .
Έτσι, θα εμφανιστεί ένα πλαίσιο μηνύματος που θα δείχνει τον αριθμό της τελευταίας γραμμής.
2. Χρήση του Rows.Count για μη κενά κελιά
Μπορείτε να χρησιμοποιήσετε το Rows.Count μέθοδο για να βρείτε την τελευταία γραμμή χρησιμοποιώντας VBA .
Τώρα, ανοίξτε το Προγραμματιστής tab>> στη συνέχεια επιλέξτε Visual Basic
Ένα νέο παράθυρο Microsoft Visual Basic για εφαρμογές θα εμφανιστεί.
Τώρα, από Εισαγωγή >> επιλέξτε Ενότητα
A Ενότητα θα ανοίξει.
Στη συνέχεια, γράψτε τον ακόλουθο κώδικα στο Ενότητα .
Sub LastRow_NonEmpty() Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row MsgBox LastRow End Sub
Εδώ, δημιούργησα μια υποδιαδικασία που ονομάζεται LastRow_NonEmpty, όπου μια Μακρύ τύπος μεταβλητής LastRow έχει δηλωθεί.
Τώρα, CELLS(Rows.Count, 1) θα μετρήσει πόσες σειρές υπάρχουν στην πρώτη στήλη. Στη συνέχεια θα χρησιμοποιήσει το End(xlUp).Row τώρα αυτό θα βρει την τελευταία γραμμή που χρησιμοποιήθηκε σε μια περιοχή του Excel.
Στο τέλος, χρησιμοποίησα ένα πλαίσιο μηνυμάτων για να δείξω το αποτέλεσμα.
Τότε, Αποθήκευση τον κώδικα και επιστρέψτε στο φύλλο εργασίας.
Εδώ, ανοίξτε το Προβολή καρτέλα>> από Μακροεντολές >> επιλέξτε Προβολή μακροεντολών
Τώρα, ένα παράθυρο διαλόγου θα εμφανιστεί.
Στη συνέχεια, από το Όνομα μακροεντολής επιλέξτε το LastRow_NonEmpty επιλέξτε επίσης το βιβλίο εργασίας μέσα στο Μακροεντολές σε .
Τέλος, Εκτέλεση το επιλεγμένο Μάκρο .
Έτσι, θα εμφανιστεί ένα πλαίσιο μηνύματος που θα δείχνει τον αριθμό της τελευταίας γραμμής.
3. Χρήση του Rows.Count για οποιαδήποτε επιλεγμένη στήλη
Χρησιμοποιώντας οποιαδήποτε επιλεγμένη στήλη στο VBA, μπορείτε να βρείτε την τελευταία σειρά.
Πρώτα, ανοίξτε το Προγραμματιστής tab>> στη συνέχεια επιλέξτε Visual Basic
Ένα νέο παράθυρο Microsoft Visual Basic για εφαρμογές θα εμφανιστεί.
Τώρα, από Εισαγωγή >> επιλέξτε Ενότητα
A Ενότητα θα ανοίξει.
Στη συνέχεια, γράψτε τον ακόλουθο κώδικα στο Ενότητα .
Sub LastRow_AnyColumn() Dim LastRow As Long LastRow = Range("B" & Rows.Count).End(xlUp).Row MsgBox LastRow End Sub
Εδώ, δημιούργησα μια υποδιαδικασία που ονομάζεται LastRow_AnyColumn, όπου μια Μακρύ τύπος μεταβλητής LastRow έχει δηλωθεί.
Στη συνέχεια, στο Εύρος δεδομένης της στήλης B ως παράμετρο και επίσης Rows.Count , αυτό θα μετρήσει πόσες γραμμές υπάρχουν σε μια δεδομένη στήλη B . Επόμενος, χρησιμοποιημένος End(xlup). Row η οποία θα βρει την τελευταία γραμμή που χρησιμοποιήθηκε σε μια περιοχή του Excel.
Τέλος, χρησιμοποίησα ένα πλαίσιο μηνυμάτων για να δείξω το αποτέλεσμα.
Επόμενο, Αποθήκευση τον κώδικα και επιστρέψτε στο φύλλο εργασίας.
Στη συνέχεια, ανοίξτε το Προβολή καρτέλα>> από Μακροεντολές >> επιλέξτε Προβολή μακροεντολών
Εδώ, ένα παράθυρο διαλόγου θα εμφανιστεί.
Τώρα, από το Όνομα μακροεντολής επιλέξτε το LastRow_AnyColumn επιλέξτε επίσης το βιβλίο εργασίας μέσα στο Μακροεντολές σε .
Τέλος, Εκτέλεση το επιλεγμένο Μάκρο .
Έτσι, θα εμφανιστεί ένα πλαίσιο μηνύματος που θα δείχνει τον αριθμό της τελευταίας γραμμής.
Παρόμοιες αναγνώσεις:
- VBA Εύρεση σε στήλη στο Excel (7 προσεγγίσεις)
- Εύρεση και αντικατάσταση με χρήση της VBA (11 τρόποι)
- Εύρεση ακριβούς αντιστοιχίας χρησιμοποιώντας VBA στο Excel (5 τρόποι)
- Πώς να βρείτε συμβολοσειρά με VBA στο Excel (8 παραδείγματα)
4. Χρήση του UsedRange για την εύρεση της τελευταίας γραμμής
Μπορείτε να χρησιμοποιήσετε το UsedRange ιδιότητα του φύλλου εργασίας για να βρείτε την τελευταία γραμμή χρησιμοποιώντας VBA .
Τώρα, ανοίξτε το Προγραμματιστής tab>> στη συνέχεια επιλέξτε Visual Basic
Στη συνέχεια, ένα νέο παράθυρο Microsoft Visual Basic για εφαρμογές θα εμφανιστεί.
Τώρα, από Εισαγωγή >> επιλέξτε Ενότητα
A Ενότητα θα ανοίξει.
Στη συνέχεια, γράψτε τον ακόλουθο κώδικα στο Ενότητα .
Sub LastRow_UsedRange() Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row MsgBox "Last Row: " & LastRow End Sub
Εδώ, έχω δημιουργήσει μια υποδιαδικασία που ονομάζεται LastRow_UsedRange, όπου ένα Μακρύ τύπος μεταβλητής LastRow έχει δηλωθεί.
Στη συνέχεια, ορίστε τη μεταβλητή χρησιμοποιώντας την εντολή ActiveSheet.UsedRange.Rows μέθοδος που παρέχεται επίσης ActiveSheet.UsedRange.Rows.Count ως παράμετρος της ActiveSheet.UsedRange.Rows , αυτό θα επιστρέψει την τελευταία γραμμή.
Χρησιμοποίησα ένα πλαίσιο μηνυμάτων για να δείξω το αποτέλεσμα.
Τώρα, Αποθήκευση τον κώδικα και επιστρέψτε στο φύλλο εργασίας.
Στη συνέχεια, ανοίξτε το Προβολή καρτέλα>> από Μακροεντολές >> επιλέξτε Προβολή μακροεντολών
Στη συνέχεια, ένα παράθυρο διαλόγου θα εμφανιστεί.
Στη συνέχεια, από το Όνομα μακροεντολής επιλέξτε το LastRow_UsedRange επιλέξτε επίσης το βιβλίο εργασίας μέσα στο Μακροεντολές σε .
Τέλος, Εκτέλεση το επιλεγμένο Μάκρο .
Έτσι, θα εμφανιστεί ένα πλαίσιο μηνύματος που θα δείχνει τον αριθμό της τελευταίας γραμμής.
5. Χρήση του Range.Find για την εύρεση της τελευταίας γραμμής
Μπορείτε να χρησιμοποιήσετε το Range.Find μέθοδο για να βρείτε την τελευταία γραμμή χρησιμοποιώντας VBA .
Τώρα, ανοίξτε το Προγραμματιστής tab>> στη συνέχεια επιλέξτε Visual Basic
Εδώ, ένα νέο παράθυρο Microsoft Visual Basic για εφαρμογές θα εμφανιστεί.
Τώρα, από Εισαγωγή >> επιλέξτε Ενότητα
A Ενότητα θα ανοίξει.
Στη συνέχεια, γράψτε τον ακόλουθο κώδικα στο Ενότητα .
Sub Range_Find_Method() Dim LastRow As Long On Error Resume Next LastRow = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 MsgBox "Last Row: " & LastRow End Sub
Εδώ, δημιούργησα μια υποδιαδικασία που ονομάζεται Range_Find_Method, όπου μια Μακρύ τύπος μεταβλητής LastRow έχει δηλωθεί.
Στη συνέχεια, ορίστε τη μεταβλητή χρησιμοποιώντας την εντολή Cells.Find Εδώ, δηλώνονται 7 παράμετροι. Τι παράμετρος που χρησιμοποίησα ("*") η οποία θα βρει το πρώτο μη κενό κελί. A1 ως το εύρος στο Μετά το παράμετρος για να ξεκινήσετε. LookAt παράμετρος που παρέχεται xlPart για να δείτε οποιοδήποτε μέρος του κειμένου μέσα στο κελί.
LookIn:=xlFormulas παράμετρος θα αναζητήσει τύπους αν υπάρχουν. SearchOrder:=xlByRows θα κινηθεί από δεξιά προς τα αριστερά και επίσης θα κάνει βρόχους προς τα πάνω σε κάθε γραμμή μέχρι να βρει ένα μη κενό κελί.
MatchCase:=False παράμετρος θα πει Βρείτε το Όταν βρεθεί ένα μη κενό, σταματά και επιστρέφει τον αριθμό της γραμμής.
Χρησιμοποίησα ένα πλαίσιο μηνυμάτων για να δείξω το αποτέλεσμα.
Τώρα, Αποθήκευση τον κώδικα και επιστρέψτε στο φύλλο εργασίας.
Εδώ, ανοίξτε το Προβολή καρτέλα>> από Μακροεντολές >> επιλέξτε Προβολή μακροεντολών
Τώρα, ένα παράθυρο διαλόγου θα εμφανιστεί.
Τώρα, από το Όνομα μακροεντολής επιλέξτε το Range_Find_Method επιλέξτε επίσης το φύλλο εργασίας μέσα στο Μακροεντολές σε .
Τέλος, Εκτέλεση το επιλεγμένο Μάκρο .
Έτσι, θα εμφανιστεί ένα πλαίσιο μηνύματος που θα δείχνει τον αριθμό της τελευταίας γραμμής.
Συμπέρασμα
Σε αυτό το άρθρο, εξηγώ 5 τρόπους για να VBA να βρείτε την τελευταία γραμμή στο Excel. Μπορείτε να ακολουθήσετε οποιαδήποτε από τις μεθόδους για να βρείτε την τελευταία γραμμή. Σε περίπτωση που έχετε οποιαδήποτε σύγχυση ή ερώτηση σχετικά με αυτές τις μεθόδους μπορείτε να σχολιάσετε παρακάτω.