Spis treści
W VBA można użyć różnych metod, aby znaleźć ostatni wiersz. W tym artykule zamierzam wyjaśnić różne metody VBA znaleźć ostatni wiersz w programie Excel.
Aby zobrazować to wyjaśnienie posłużę się przykładowym zbiorem danych.W zbiorze danych znajdują się 4 kolumny reprezentujące informacje o sprzedaży.Kolumny te to. Sprzedawca, Region, Produkt, oraz Cena .
Pobierz do ćwiczeń
VBA Znajdź ostatni wiersz.xlsmSposoby VBA na znalezienie ostatniego wiersza w Excelu
1. użycie SpecialCells do znalezienia ostatniego wiersza
Możesz użyć SpecialCells aby znaleźć ostatni wiersz za pomocą metody VBA .
Najpierw należy otworzyć Deweloper tab>> następnie wybierz Visual Basic
Nowe okno Microsoft Visual Basic for Applications pojawi się.
Teraz, od Wkładka >> wybierz Moduł
A Moduł zostanie otwarty.
Następnie napisz następujący kod w Moduł .
Sub LastRow_SpecialCells() Dim LastRow As Long LastRow = Range("A:A").SpecialCells(xlCellTypeLastCell).Row MsgBox LastRow End Sub
Tutaj utworzyłem procedurę podrzędną o nazwie LastRow_SpecialCells , gdzie a Długi rodzaj zmiennej LastRow oświadczył.
Następnie zdefiniowaliśmy zmienną za pomocą Range.SpecialCells Tutaj użyłem kolumny A ( A:A ) jako zakres. zapewniony xlCellTypeLastCell jako parametr typu dla SpecialCells to zwróci ostatnią komórkę z zakresu (w tym przypadku z kolumny A ).
Użyłem skrzynki wiadomości, aby pokazać wynik.
Po tym, Zapisz kod i wróć do arkusza.
Ponownie otwórz Zobacz tab>> od Makra >> wybierz Wyświetlanie makr
Następnie, a okno dialogowe pojawi się.
Teraz, z Nazwa makra wybrać LastRow_SpecialCells wybrać również skoroszyt w ramach Makra w .
Wreszcie, Uruchom wybrany Makro .
W ten sposób wyskoczy okno komunikatu pokazujące ostatni numer wiersza.
2. użycie Rows.Count dla niepustych komórek
Możesz użyć Rows.Count aby znaleźć ostatni wiersz za pomocą metody VBA .
Teraz otwórz Deweloper tab>> następnie wybierz Visual Basic
Nowe okno Microsoft Visual Basic for Applications pojawi się.
Teraz, od Wkładka >> wybierz Moduł
A Moduł zostanie otwarty.
Następnie napisz następujący kod w Moduł .
Sub LastRow_NonEmpty() Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row MsgBox LastRow End Sub
Tutaj stworzyłem podprocedurę o nazwie LastRow_NonEmpty, gdzie a Długi rodzaj zmiennej LastRow oświadczył.
Teraz, CELLS(Rows.Count, 1) policzy ile jest wierszy w pierwszej kolumnie. Następnie użyjemy End(xlUp).Row teraz to znajdzie ostatnio używany wiersz w zakresie Excela.
Na koniec użyłem skrzynki wiadomości, aby pokazać wynik.
Następnie, Zapisz kod i wróć do arkusza.
W tym miejscu należy otworzyć Zobacz tab>> od Makra >> wybierz Wyświetlanie makr
Teraz, a okno dialogowe pojawi się.
Następnie, z Nazwa makra wybrać LastRow_NonEmpty wybrać również skoroszyt w ramach Makra w .
Wreszcie, Uruchom wybrany Makro .
W ten sposób wyskoczy okno komunikatu pokazujące ostatni numer wiersza.
3. użycie Rows.Count dla dowolnej wybranej kolumny
Używając dowolnej wybranej kolumny w VBA, można znaleźć ostatni rząd.
Najpierw należy otworzyć Deweloper tab>> następnie wybierz Visual Basic
Nowe okno Microsoft Visual Basic for Applications pojawi się.
Teraz, od Wkładka >> wybierz Moduł
A Moduł zostanie otwarty.
Następnie napisz następujący kod w Moduł .
Sub LastRow_AnyColumn() Dim LastRow As Long LastRow = Range("B" & Rows.Count).End(xlUp).Row MsgBox LastRow End Sub.
Tutaj stworzyłem procedurę podrzędną o nazwie LastRow_AnyColumn, gdzie a Długi rodzaj zmiennej LastRow oświadczył.
Następnie, w Zakres biorąc pod uwagę kolumnę B jako parametr, a także Rows.Count to policzy ile jest wierszy w danej kolumnie B . Dalej, używany End(xlup).Wiersz Który znajdzie ostatnio używany wiersz w zakresie Excela.
Na koniec użyłem okienka z komunikatem, aby pokazać wynik.
Następny, Zapisz kod i wróć do arkusza.
Następnie należy otworzyć Zobacz tab>> od Makra >> wybierz Wyświetlanie makr
Tutaj, a okno dialogowe pojawi się.
Teraz, z Nazwa makra wybrać LastRow_AnyColumn wybrać również skoroszyt w ramach Makra w .
Wreszcie, Uruchom wybrany Makro .
W ten sposób wyskoczy okno komunikatu pokazujące ostatni numer wiersza.
Podobne Lektury:
- VBA Znajdź w kolumnie w Excelu (7 podejść)
- Znajdź i zamień za pomocą VBA (11 sposobów)
- Znajdź Dokładne dopasowanie za pomocą VBA w Excelu (5 sposobów)
- Jak znaleźć ciąg z VBA w Excelu (8 przykładów)
4. użycie UsedRange do znalezienia ostatniego wiersza
Możesz użyć UżywaneRange właściwości arkusza, aby znaleźć ostatni wiersz za pomocą VBA .
Teraz otwórz Deweloper tab>> następnie wybierz Visual Basic
Następnie, w nowym oknie Microsoft Visual Basic for Applications pojawi się.
Teraz, od Wkładka >> wybierz Moduł
A Moduł zostanie otwarty.
Następnie napisz następujący kod w Moduł .
Sub LastRow_UsedRange() Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row MsgBox "Ostatni wiersz: " & LastRow End Sub
Tutaj stworzyłem podprocedurę o nazwie LastRow_UsedRange, gdzie a Długi rodzaj zmiennej LastRow oświadczył.
Następnie definiujemy zmienną za pomocą ActiveSheet.UsedRange.Rows podano również metodę ActiveSheet.UsedRange.Rows.Count jako parametr ActiveSheet.UsedRange.Rows , to zwróci ostatni wiersz.
Użyłem skrzynki wiadomości, aby pokazać wynik.
Teraz, Zapisz kod i wróć do arkusza.
Następnie należy otworzyć Zobacz tab>> od Makra >> wybierz Wyświetlanie makr
Następnie, a okno dialogowe pojawi się.
Następnie, z Nazwa makra wybrać LastRow_UsedRange wybrać również skoroszyt w ramach Makra w .
Wreszcie, Uruchom wybrany Makro .
W ten sposób wyskoczy okno komunikatu pokazujące ostatni numer wiersza.
5. użycie funkcji Range.Find do znalezienia ostatniego wiersza
Możesz użyć Range.Find aby znaleźć ostatni rząd używając metody VBA .
Teraz otwórz Deweloper tab>> następnie wybierz Visual Basic
Tutaj pojawi się nowe okno Microsoft Visual Basic for Applications pojawi się.
Teraz, od Wkładka >> wybierz Moduł
A Moduł zostanie otwarty.
Następnie napisz następujący kod w Moduł .
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
Tutaj utworzyłem podprocedurę o nazwie Range_Find_Method, gdzie a Długi rodzaj zmiennej LastRow oświadczył.
Następnie zdefiniowaliśmy zmienną za pomocą Cells.Find tutaj zadeklarowano 7 parametrów. w Co parametr użyłem ("*"), który znajdzie pierwszą niepustą komórkę.Podane A1 jako zakres w Po aby rozpocząć. W Zajrzyj na stronę dostarczony parametr xlPart aby spojrzeć na dowolną część tekstu wewnątrz komórki.
LookIn:=xlFormulas parametr będzie szukał formuł, jeśli takie istnieją. SearchOrder:=xlByRows parametr będzie poruszał się od prawej do lewej strony, a także zapętla się w górę przez każdy wiersz, dopóki nie znajdzie niepustej komórki.
MatchCase:=False parametr powie Znajdź nie uwzględnia dużych i małych liter. Po znalezieniu pustego miejsca zatrzymuje się i zwraca numer wiersza.
Użyłem skrzynki wiadomości, aby pokazać wynik.
Teraz, Zapisz kod i wróć do arkusza.
W tym miejscu należy otworzyć Zobacz tab>> od Makra >> wybierz Wyświetlanie makr
Teraz, a okno dialogowe pojawi się.
Teraz, z Nazwa makra wybrać Range_Find_Method również wybrać arkusz w ramach Makra w .
Wreszcie, Uruchom wybrany Makro .
W ten sposób wyskoczy okno komunikatu pokazujące ostatni numer wiersza.
Wniosek
W tym artykule wyjaśniłem 5 sposobów na. VBA Znajdź ostatni wiersz w programie Excel. Możesz zastosować dowolną z metod, aby znaleźć ostatni wiersz. W przypadku, gdy masz jakieś zamieszanie lub pytanie dotyczące tych metod, możesz skomentować poniżej.