Vba: jak znaleźć ostatnio używaną linię


Aby znaleźć ostatnio używany wiersz w arkuszu Excel, możesz użyć następującej podstawowej składni w VBA:

 Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub

Ten konkretny przykład wyszukuje ostatni wiersz użyty w bieżącym arkuszu i zwraca wynik w komórce D2 .

Jeśli zamiast tego chcesz wyświetlić ostatnią linię okna komunikatu, możesz użyć następującej składni:

 Sub FindLastRow()
Dim LastRow As Long
    
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row

MsgBox " Last Row: " & LastRow
End Sub

Poniższe przykłady pokazują, jak zastosować każdą z tych metod w praktyce.

Przykład 1: Znajdź ostatni wiersz za pomocą VBA i wyświetl wyniki w komórce

Załóżmy, że mamy w programie Excel następujący zbiór danych zawierający informacje o różnych koszykarzach:

Możemy utworzyć następujące makro, aby znaleźć ostatnią linię używaną w tym arkuszu Excela i wyświetlić wynik w komórce D2 :

 Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Zauważ, że komórka D2 zawiera wartość 11 .

To mówi nam, że ostatnim wierszem użytym w tym konkretnym arkuszu jest wiersz 11.

Warto również zauważyć, że jeśli masz puste komórki przed używaną komórką, to makro zawsze znajdzie ostatnio używany wiersz.

Załóżmy na przykład, że uruchamiamy makro na następującym zbiorze danych:

Komórka D2 zawiera wartość 16 , ponieważ jest to ostatni wiersz zawierający wartość.

Przykład 2: Znajdź ostatni wiersz za pomocą VBA i wyświetl wyniki w oknie komunikatu

Załóżmy zamiast tego, że chcemy znaleźć ostatnio używany wiersz w arkuszu i wyświetlić numer wiersza w oknie komunikatu.

W tym celu możemy utworzyć następujące makro:

 Sub FindLastRow()
Dim LastRow As Long
    
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row

MsgBox " Last Row: " & LastRow
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Okno komunikatu informuje nas, że ostatnim wierszem użytym w arkuszu jest wiersz 11 .

Uwaga : Pełną dokumentację metody VBA Find znajdziesz tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

VBA: Jak obliczyć średnią wartość zakresu
VBA: Jak policzyć liczbę wierszy w zakresie
VBA: Jak usunąć zduplikowane wartości w zakresie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *