Znajdź ostatni wiersz z danymi w zakresie za pomocą makr VBA Excela (7 metod)

  • Udostępnij To
Hugh West

Podczas pracy z Microsoft Excel, znalezienie ostatnich wierszy lub kolumn jest częstym zadaniem. Używamy klawiatury, aby znaleźć ostatnio używane wiersze lub kolumny. Ale, możesz znaleźć się w sytuacji, w której musisz znaleźć ostatnio używany wiersz ze złożonego zestawu danych. W tym samouczku nauczysz się znajdować ostatni wiersz z danymi w zakresie za pomocą VBA w programie Excel z praktycznymi przykładami i odpowiednimi ilustracjami.

Pobierz Zeszyt ćwiczeń

Pobierz ten zeszyt ćwiczeń.

Znajdź ostatni używany wiersz w zakresie.xlsm

7 Metod, aby znaleźć ostatni wiersz z danymi w zakresie za pomocą makr VBA Excela

W nadchodzących sekcjach przedstawimy Ci siedem metod, które pomogą Ci znaleźć ostatni wiersz z danymi w zakresie za pomocą VBA w Excelu. Zalecamy poznanie i zastosowanie wszystkich tych metod, aby wzbogacić swoją wiedzę o Excelu.

📕 Read More : Znajdź ostatnią komórkę z wartością w wierszu w programie Excel (6 metod)

Aby zademonstrować ten tutorial, użyjemy tego zestawu danych:

Tutaj mamy zbiór danych składający się z informacji o niektórych graczach. Użyjemy go, aby nauczyć cię wszystkich metod.

Otwórz edytor VBA

Zanim zaczniemy, tutaj wiek dając proste przypomnienie o otwarciu Edytora VBA w Excelu.

Najpierw należy nacisnąć Alt+F11 na klawiaturze, a następnie wybierz Insert> Moduł. Po tym otworzy się edytor VBA w Excelu.

1. użycie właściwości Range.End do znalezienia ostatniego wiersza z danymi w zakresie za pomocą VBA

Teraz ta metoda w zasadzie znajduje koniec zakresu. Głównie chodzi o ostatnio używany zakres komórek. Możemy użyć tej metody, aby znaleźć ostatni wiersz z danymi w danym zakresie. Użycie VBA da ci pożądane wyniki.

📌 Kroki

Najpierw należy otworzyć VBA Redaktor.

Następnie wpisz następujący kod:

 Sub range_end_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = Range("B4").End(xlDown).Row MsgBox "Ostatni użyty wiersz: " & LastRow End Sub. 

Teraz zapisz plik, a następnie naciśnij Alt+F8 aby otworzyć okno dialogowe Makro. Wybierz range_end_method

Następnie klikamy na Run.

Jak widać, udało nam się znaleźć ostatni wiersz z danymi w zakresie za pomocą VBA w Excelu.

2. właściwość Range.Find w VBA w Excelu

Teraz w VBA używamy metody Range.Find do wyszukiwania konkretnej wartości ze zbioru danych. Ale ta metoda przydaje się do znalezienia ostatniego wiersza z danymi w zakresie. Działa podobnie jak okno dialogowe Find & Replace w Excelu. Metoda Range.Find ma wiele argumentów, ale nie będziemy ich wszystkich używać.

Zanim skorzystamy z metody Range.Find, podajmy kilka szybkich informacji:

Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious)

Co := "*" - Gwiazdka jest znakiem wieloznacznym, który odkrywa dowolny tekst lub liczbę w komórce. Jest to przede wszystkim to samo, co poszukiwanie komórki niepustej.

SearchOrder:=xlByRows - Oznacza to, że Finding musi przekopać się przez każdy cały wiersz przed przejściem do następnego. Kierunek jest przeszukiwany od lewej do prawej lub od prawej do lewej w zależności od argumentu SearchDirection. Dodatkową opcją jest tutaj xlByColumns, która jest wykorzystywana podczas lokalizowania ostatniej kolumny.

SearchDirection:=xlPrevious - xlPrevious oznacza, że będzie szukać od prawej do lewej lub od dołu do góry. Inną alternatywą jest xlNext, która przesuwa w przeciwnym kierunku.

📌 Kroki

Najpierw należy otworzyć edytor VBA.

Następnie wpisz następujący kod:

 Sub range_find_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row MsgBox "Ostatni użyty wiersz: " & LastRow End Sub. 

Teraz zapisz plik, a następnie naciśnij Alt+F8, aby otworzyć okno dialogowe Makro.Wybierz range_find_method.

Następnie należy kliknąć na Uruchom .

Na końcu znajdzie ostatni wiersz z danymi w naszym arkuszu Excela.

3. użycie funkcji SpecialCells do znalezienia ostatniego wiersza za pomocą VBA

Ta metoda działa jak wciśnięcie Ctrl+End na klawiaturze. Kiedy naciśniesz Ctrl+End na klawiaturze, zawsze przeniesie Cię do ostatniego wiersza bez względu na to, gdzie jesteś. Ale jeśli chcesz znaleźć ostatni używany wiersz z danymi za pomocą kodów VBA w programie Excel, ten kod jest dla Ciebie koniecznością.

📌 Kroki

Najpierw należy otworzyć edytor VBA.

Następnie wpisz następujący kod:

 Sub specialcells_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Cells.SpecialCells(xlCellTypeLastCell).Row MsgBox "Ostatni użyty wiersz: " & LastRow End Sub 

Teraz zapisz plik, a następnie naciśnij Alt+F8, aby otworzyć okno dialogowe Makro.Wybierz metoda komór specjalnych .

Następnie należy kliknąć na Uruchom .

Jak widać, udaje nam się znaleźć ostatni wiersz z danymi za pomocą VBA w Excelu.

4. użycie funkcji UsedRange do znalezienia ostatniego wiersza z danymi w zakresie

UsedRange w VBA jest własnością arkusza, która zwraca obiekt zakresu reprezentujący zakres używany (wszystkie komórki Excela używane lub załadowane do arkusza) w danym arkuszu. Jest to właściwość oznaczająca obszar pokryty lub określony przez górne lewe używane komórki i ostatnie prawe używane komórki w arkuszu.

📌 Kroki

Najpierw należy otworzyć edytor VBA.

Następnie wpisz następujący kod:

 Sub usedRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row MsgBox "Ostatni użyty wiersz: " & LastRow End Sub 

Teraz zapisz plik, a następnie naciśnij Alt+F8, aby otworzyć okno dialogowe Makro.Wybierz usedRange_method.

Następnie należy kliknąć na Uruchom .

W końcu z powodzeniem zobaczysz ostatnio używany wiersz na arkuszu w Excelu.

5) Używanie zakresu tabel za pomocą VBA w Excelu

Jeśli masz tabelę w swoim arkuszu, możesz znaleźć ostatni wiersz z danymi za pomocą tej metody.

📌 Kroki

Najpierw należy otworzyć edytor VBA.

Następnie wpisz następujący kod:

 Sub TableRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.ListObjects("Table1").Range.Rows.Count + 3 MsgBox "Ostatni użyty wiersz: " & LastRow End Sub. 

Uwaga : Tutaj dodajemy 3 z ostatnim wierszem, ponieważ nasz zbiór danych rozpoczął się po wierszu 3.

Teraz zapisz plik, a następnie naciśnij Alt+F8, aby otworzyć okno dialogowe Makro.Wybierz TableRange_method.

Następnie należy kliknąć na Uruchom .

Jak widać, z powodzeniem użyliśmy metody zakresu tabeli w kodach VBA, aby znaleźć ostatni wiersz z danymi w programie Excel.

6. użycie Nazwanego zakresu do znalezienia ostatniego wiersza z danymi w zakresie

Ta metoda nie jest powszechnie stosowana w Excelu. Ale, uważamy, że powinieneś się tego nauczyć, aby wzbogacić swoją wiedzę.

Jeśli twój zestaw danych ma nazwany zakres, możesz użyć tego kodu. Spójrz na poniższy zrzut ekranu, ma w nim nazwany zakres.

📌 Kroki

Najpierw należy otworzyć edytor VBA.

Następnie wpisz następujący kod:

 Sub nameRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("Named_Range").Rows.Count + 1 MsgBox "ostatni użyty wiersz: " & LastRow End Sub. 

Uwaga : Dodajemy 1 do LastRow, ponieważ nasz zakres rozpoczął się po wierszu 1.

Teraz zapisz plik, a następnie naciśnij Alt+F8 aby otworzyć okno dialogowe Makro. Wybierz nameRange_method.

Następnie klikamy na Run.

Jak widać, udaje nam się znaleźć ostatni wiersz z danymi za pomocą VBA.

7) Funkcja CurrentRegion w VBA w Excelu

Możesz także użyć metody CurrentRegion w VBA, aby znaleźć ostatnio używany wiersz w Excelu. Chociaż jest to podstępne, możesz użyć tego na swoją korzyść, jeśli chcesz.

📌 Kroki

Najpierw należy otworzyć edytor VBA.

Następnie wpisz następujący kod:

 Sub CurrentRegion_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("B4").CurrentRegion.Rows.Count + 3 "dodaj liczby według własnego uznania" MsgBox "Ostatni użyty wiersz: " & LastRow End Sub. 

Uwaga Zakres powinien być pierwszą komórką twojego zestawu danych. I dodaj numer wierszy zgodnie z twoim wyborem. Tutaj dodaliśmy 3, ponieważ nasz zestaw danych rozpoczął się od wiersza 3.

Teraz zapisz plik, a następnie naciśnij Alt+F8, aby otworzyć okno dialogowe Makro.Wybierz CurrentRegion_method

Następnie klikamy na Run.

Jak widać, udało nam się znaleźć ostatni wiersz z danymi za pomocą kodu VBA.

💬 Rzeczy do zapamiętania

Range.End działa tylko na pojedynczym wierszu lub kolumnie. Jeśli twój zbiór danych zawiera wiele pustych komórek, trudno będzie znaleźć ostatni wiersz z danymi.

Czasami trzeba dodać jakieś wartości do swoich metod, aby kod działał płynnie. Dodaliśmy numery wierszy, aby znaleźć ostatnią komórkę. Musisz więc pamiętać, od czego zaczął się twój zbiór danych.

Wniosek

Podsumowując, mam nadzieję, że ten tutorial dostarczył Ci kawałek przydatnej wiedzy, aby znaleźć ostatni wiersz z danymi w zakresie przy użyciu VBA w Excelu. Zalecamy, abyś nauczył się i zastosował wszystkie te instrukcje do swojego zbioru danych. Pobierz zeszyt ćwiczeń i wypróbuj je sam. Ponadto, nie krępuj się dać opinii w sekcji komentarzy. Twoje cenne opinie utrzymują nas zmotywowanych do tworzenia tutoriali takich jak ten.

Nie zapomnij sprawdzić naszej strony internetowej Exceldemy.com dla różnych problemów i rozwiązań związanych z programem Excel.

Ciągle ucz się nowych metod i ciągle się rozwijaj!

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.