Ostatni rząd VBA - Najlepsze 3 metody znajdowania ostatnio używanego wiersza?

Spisie treści

W VBA, gdy musimy znaleźć ostatni wiersz, istnieje wiele różnych metod, a najczęściej stosowaną metodą jest metoda End (XLDown) i są inne metody, takie jak znalezienie ostatniej wartości za pomocą funkcji find w VBA, End (XLDown ). Wiersz to najłatwiejszy sposób, aby dostać się do ostatniego rzędu.

Excel VBA Ostatni wiersz

Jeśli pisanie kodu jest pierwszym postępem w VBA, następnym krokiem jest uczynienie kodu dynamicznym. Excel jest pełen odwołań do komórek. W momencie, gdy odnosimy się do komórki, zostaje ona naprawiona. Jeśli nasze dane się zwiększają, musimy wrócić do odwołania do komórki i zmienić odniesienia, aby wynik był aktualny.

Na przykład spójrz na poniższy kod.

Kod:

Sub Last_Row_Example1 () Range ("D2"). Value = WorksheetFunction.Sum (Range ("B2: B7")) End Sub

Powyższy kod mówi, że w D2 wartość komórki powinna być sumą Range („B2: B7”).

Teraz dodam więcej wartości do listy.

Teraz, jeśli uruchomię kod, nie da mi raczej wyniku aktualizacji, ale nadal trzyma się starego zakresu, tj. Range („B2: B7”).

W tym miejscu bardzo ważny jest kod dynamiczny.

W procesie tworzenia dynamicznego kodu bardzo ważne jest znalezienie ostatnio używanego wiersza w kolumnie. W tym artykule omówimy sposoby znajdowania ostatniego wiersza w Excel VBA.

Jak znaleźć ostatnio używany wiersz w kolumnie?

Poniżej znajdują się przykłady, aby znaleźć ostatnio używany wiersz w Excel VBA.

Metoda nr 1

Zanim wyjaśnię ci kod, chcę, żebyś pamiętał, jak przechodzisz do ostatniego wiersza w normalnym arkuszu.

Użyjemy klawisza skrótu Ctrl + strzałka w dół.

Zabierze nas do ostatniego używanego wiersza przed pustą komórką. Użyjemy tej samej metody w VBA, aby znaleźć ostatni wiersz.

Krok 1: Zdefiniuj zmienną jako LONG.

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'Dla zrozumienia LR = Last Row End Sub

Krok 2: Dla tej zmiennej przypiszemy numer ostatnio używanego wiersza.

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'Dla zrozumienia LR = Last Row LR = End Sub

Krok 3: Napisz kod jako CELLS (Rows.Count,

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'Dla zrozumienia LR = Last Row LR = Cells (Rows.Count, End Sub

Krok 4: Teraz podaj numer kolumny jako 1.

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'Dla zrozumienia LR = Last Row LR = Cells (Rows.Count, 1) End Sub

CELLS (Rows.Count, 1) oznacza zliczanie, ile wierszy znajduje się w pierwszej kolumnie.

Tak więc powyższy kod VBA przeniesie nas do ostatniego wiersza arkusza Excela.

Krok 5: Jeśli jesteśmy w ostatniej komórce arkusza, aby przejść do ostatnio używanego wiersza, naciśniemy klawisz skrótu Ctrl + strzałka w górę .

W VBA musimy użyć klawisza końcowego i wyższego, czyli End VBA xlUp

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'Dla zrozumienia LR = Last Row LR = Cells (Rows.Count, 1). End (xlUp) End Sub

Krok 6: Teraz przeniesie nas do ostatniego używanego wiersza od dołu. Teraz potrzebujemy numeru wiersza tego. Więc użyj właściwości WIERSZ, aby uzyskać numer wiersza.

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'Dla zrozumienia LR = Last Row LR = Cells (Rows.Count, 1) .End (xlUp) .Row End Sub

Krok 7: Teraz zmienna przechowuje ostatnio używany numer wiersza. Pokaż wartość tej zmiennej w oknie komunikatu w kodzie VBA.

Kod:

Sub Last_Row_Example2 () Dim LR As Long 'Dla zrozumienia LR = Last Row LR = Cells (Rows.Count, 1) .End (xlUp) .Row MsgBox LR End Sub

Uruchom ten kod za pomocą klawisza F5 lub ręcznie. Wyświetli ostatnio używany wiersz.

Wynik:

Ostatni używany wiersz w tym arkuszu to 13.

Now I will delete one more line and run the code and see the dynamism of the code.

Ok, now the result automatically takes the last row.

This is what the dynamic VBA last row code is.

As I showed in the earlier example, change the row number from a numeric value to LR.

Code:

Sub Last_Row_Example2() Dim LR As Long 'For understanding LR = Last Row LR = Cells(Rows.Count, 1).End(xlUp).Row Range("D2").Value = WorksheetFunction.Sum(Range("B2:B" & LR)) End Sub

I have removed B13 and added the variable name LR.

Now it does not matter how many rows you add. It will automatically take the updated reference.

Method #2

We can also find the last row in VBA by using the Range object and special VBA cells property as well.

Code:

Sub Last_Row_Example3() Dim LR As Long LR = Range("A:A").SpecialCells(xlCellTypeLastCell).Row MsgBox LR End Sub

Kod podaje również ostatnio używany wiersz. Na przykład spójrz na poniższy obraz arkusza.

Jeśli uruchomię kod ręcznie lub używając klawisza F5, wynik będzie wynosić 12, ponieważ 12 jest ostatnim używanym wierszem.

Wynik:

Teraz usunę 12. wiersz i zobaczę wynik.

Mimo że usunąłem jeden wiersz, nadal wyświetla wynik jako 12.

Aby ten kod działał, po każdej akcji musimy nacisnąć przycisk zapisywania. Wtedy ten kod zwróci dokładne wyniki.

Zapisałem skoroszyt i teraz widzę wynik.

Metoda nr 3

Możemy znaleźć ostatni wiersz VBA w używanym zakresie. Poniższy kod zwraca również ostatnio używany wiersz.

Kod:

Sub Last_Row_Example4 () Dim LR As Long LR = ActiveSheet.UsedRange.Rows (ActiveSheet.UsedRange.Rows.Count) .Row MsgBox LR End Sub

Spowoduje to również zwrócenie ostatnio używanego wiersza.

Wynik:

Interesujące artykuły...