VBA zadnji red - Tri najbolje metode za pronalaženje posljednjeg korištenog reda?

U VBA kada moramo pronaći zadnji redak postoji mnogo različitih metoda, a najčešće korištena metoda je metoda End (XLDown), a postoje i druge metode kao što je pronalaženje posljednje vrijednosti pomoću funkcije find u VBA, End (XLDown ). Red je najlakši način da dođete do posljednjeg reda.

Excel VBA zadnji redak

Ako je pisanje koda prvi napredak koji ste postigli u VBA-u, tada je stvaranje dinamičnog koda sljedeći korak za vas. Excel je pun referenci na ćelije. U trenutku kada se uputimo na ćeliju, ona postaje fiksna. Ako se naši podaci povećaju, trebamo se vratiti na referencu ćelije i promijeniti reference kako bismo rezultat ažurirali.

Za primjer pogledajte donji kod.

Kodirati:

Sub Last_Row_Example1 () Raspon ("D2"). Vrijednost = WorksheetFunction.Sum (Raspon ("B2: B7")) Kraj Sub

Gornji kod kaže u D2, vrijednost ćelije treba biti zbroj Raspona ("B2: B7").

Sad ću na popis dodati još vrijednosti.

Sada, ako pokrenem kôd, neće mi dati rezultat ažuriranja, on se i dalje drži starog raspona, tj. Raspona (“B2: B7”).

Ovdje je dinamički kod vrlo važan.

U procesu izrade dinamičkog koda vrlo je važno pronaći zadnji upotrijebljeni redak u stupcu. U ovom ćemo članku razgovarati o načinima pronalaska posljednjeg retka u programu Excel VBA.

Kako pronaći zadnji korišteni red u stupcu?

Ispod su primjeri za pronalazak posljednjeg korištenog retka u programu Excel VBA.

Metoda # 1

Prije nego što vam objasnim kôd, želim da se sjetite kako idete do posljednjeg reda u uobičajenom radnom listu.

Upotrijebit ćemo tipku prečaca Ctrl + strelica prema dolje.

Odvest će nas do zadnjeg korištenog retka prije bilo koje prazne ćelije. Istu ćemo metodu upotrijebiti i u VBA za pronalaženje posljednjeg retka.

Korak 1: Definirajte varijablu kao LONG.

Kodirati:

Sub Last_Row_Example2 () Dim LR as long 'Za razumijevanje LR = Last Red End Sub

Korak 2: Za ovu ćemo varijablu dodijeliti zadnji upotrijebljeni broj retka.

Kodirati:

Sub Last_Row_Example2 () Dim LR As Long 'Za razumijevanje LR = Zadnji red LR = Kraj Sub

Korak 3: Napišite kod kao CELLS (Rows.Count,

Kodirati:

Sub Last_Row_Example2 () Dim LR As Long 'Za razumijevanje LR = Zadnji red LR = Stanice (Redovi.broj, Kraj Sub

Korak 4: Sada navedite broj stupca kao 1.

Kodirati:

Sub Last_Row_Example2 () Dim LR As Long 'Za razumijevanje LR = Zadnji red LR = Ćelije (Redovi.broj, 1) Kraj Sub

CELLS (Rows.Count, 1) znači računati koliko redaka ima u prvom stupcu.

Dakle, gornji VBA kôd odvest će nas do posljednjeg reda Excel lista.

Korak 5: Ako smo u posljednjoj ćeliji lista da bismo prešli na zadnji upotrijebljeni redak, pritisnut ćemo tipku prečaca Ctrl + tipka sa strelicom prema gore .

U VBA moramo koristiti završni ključ i gore, tj. End VBA xlUp

Kodirati:

Sub Last_Row_Example2 () Dim LR As Long 'Za razumijevanje LR = Zadnji red LR = Stanice (Redovi.broj, 1). Kraj (xlUp) Kraj Sub

Korak 6: Sada će nas odvesti do zadnjeg korištenog retka odozdo. Sada nam treba broj retka ovoga. Dakle, upotrijebite svojstvo ROW da biste dobili broj retka.

Kodirati:

Sub Last_Row_Example2 () Dim LR As Long 'Za razumijevanje LR = Zadnji red LR = Ćelije (Redovi.broj, 1) .Kraj (xlUp). Red Kraj Sub

Korak 7: Sada, varijabla sadrži zadnji upotrijebljeni broj retka. Prikažite vrijednost ove varijable u okviru za poruke u VBA kodu.

Kodirati:

Sub Last_Row_Example2 () Dim LR As Long 'Za razumijevanje LR = Zadnji red LR = Ćelije (Redovi.broj, 1). Kraj (xlUp). Red MsgBox LR Kraj Sub

Pokrenite ovaj kod pomoću tipke F5 ili ručno. Prikazat će zadnji korišteni redak.

Izlaz:

Posljednji korišteni redak na ovom radnom listu je 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

Kôd vam daje i zadnji upotrijebljeni redak. Na primjer, pogledajte donju sliku radnog lista.

Ako kôd pokrenem ručno ili upotrijebim tipku F5, rezultat će biti 12, jer je 12 zadnji korišteni redak.

Izlaz:

Sada ću izbrisati 12. red i vidjeti rezultat.

Iako sam izbrisao jedan redak, rezultat i dalje prikazuje 12.

Da bi ovaj kod radio, trebamo pritisnuti gumb Spremi nakon svake radnje. Tada će ovaj kôd vratiti točne rezultate.

Spremio sam radnu knjigu i sada vidim rezultat.

Metoda # 3

Možemo pronaći zadnji redak VBA u korištenom rasponu. Kôd u nastavku također vraća zadnji upotrijebljeni redak.

Kodirati:

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

Ovo će također vratiti zadnji upotrijebljeni redak.

Izlaz:

Zanimljivi članci...