Posljednji red Excela VBA
Pronalaženje zadnjeg retka u stupcu važan je aspekt pisanja makronaredbi i njihova dinamička izrada. Kao što ne bismo željeli ažurirati raspon ćelija s vremena na vrijeme, kada radimo s Excel referencama ćelija. Kao koder / programer uvijek biste željeli napisati dinamički kôd koji se može koristiti na bilo kojim podacima i zadovoljava vaše potrebe. Štoviše, uvijek bi bilo sjajno da imate zadnji redak podataka, kako biste mogli dinamički mijenjati kod prema Vašim potrebama.
Samo ću istaknuti jedan primjer koji ponavlja važnost dinamičkog koda.
Pretpostavimo da u nastavku imamo podatke o zaposlenima i njihovim plaćama.
I pogledajte kod naveden u nastavku:
Kodirati:
Pod-primjer1 () Raspon ("D2"). Vrijednost = WorksheetFunction.Sum (Raspon ("B2: B11")) Kraj Pod
Ovdje ovaj kôd ispisuje zbroj plaća svih zaposlenih (ćelija B2: B11 ) u ćeliji D2 . Pogledajte sliku ispod:
Što ako dodam neke ćelije u ove podatke i ponovo pokrenem ovaj kod?
Logično gledano, gornji kôd neće zbrojiti svih 14 redaka iz stupca B. Razlog za to je raspon koji smo ažurirali u sklopu WorksheetFunction (što je B2: B11). To je razlog zbog kojeg nam je važniji dinamični kod koji može uzeti u obzir posljednji ispunjeni redak.
U ovom ću članku predstaviti neke metode koje mogu biti korisne u pronalaženju zadnjeg retka za dani skup podataka pomoću VBA koda.
Kako pronaći zadnji upotrijebljeni redak u stupcu pomoću VBA?
Ispod su različiti primjeri različitih metoda za pronalaženje posljednjeg korištenog retka stupca u Excelu pomoću VBA koda.
Možete preuzeti ovaj predložak VBA zadnjeg retka ovdje - VBA predložak zadnjeg retka ExcelaPrimjer br. 1 - Korištenje metode Range.End ()
Pa, ova je metoda ista kao i pomoću Ctrl + strelice prema dolje u Excelu za prijelaz na posljednji neprazni red. U sličnim linijama slijedite dolje navedene korake za kreiranje koda u VBA kako biste došli do posljednjeg ne praznog retka stupca u Excelu.
Korak 1: Definirajte varijablu koja može uzeti vrijednost za posljednji neprazni red stupca Excela.
Kodirati:
Sub Primjer2 () Dim Last_Row Kao Long End Sub
Ovdje je varijabla Last_Row definirana kao LONG samo kako bi bila sigurna da može uzeti bilo koji broj argumenata.
Korak 2: Upotrijebite definiranu varijablu da zadržite vrijednost zadnjeg ne-praznog retka.
Kodirati:
Sub Example2 () Dim Last_Row As Long Last_Row = Kraj Sub
Korak 3: Unesite kôd koji započinje s CELLS (Rows.Count ispred Last_Row = .
Kodirati:
Sub Example2 () Dim Last_Row As Long Last_Row = Cells (Redovi.Sbroj Kraj Sub
Korak 4: Spomenuti 1 nakon zareza u gore navedenom kodu. Vrijednost broj 1 je sinonim za prvi stupac u excel listu.
Kodirati:
Sub Primjer2 () Dim Last_Row As Long Last_Row = Cells (Redovi. Broj, 1) Kraj Sub
Ovaj kôd omogućuje VBA da sazna ukupan broj redaka (prazan + ne-prazan) prisutan u prvom stupcu Excela radnog lista. To znači da ovaj kôd omogućuje sustavu da prijeđe na posljednju ćeliju Excela.
Pa, što ako ste u posljednjoj ćeliji excela i želite prijeći na posljednji neprazni red? Koristite Ctrl + strelicu gore, zar ne?
Ista logika koju ćemo koristiti u sljedećem retku koda.
Korak 5: Upotrijebite kombinaciju tipke Kraj i xlUp za prijelaz na posljednji neprazni red u excelu.
Kodirati:
Pod-primjer2 () Dim Last_Row As Long Last_Row = Cells (Redovi.broj, 1). End (xlUp) Kraj Sub
Ovo će vas odvesti do posljednjeg ne praznog retka u excelu. No, željeli ste broj retka za isto.
Korak 6: Koristite ROW za dobivanje broja retka posljednjeg, nepunog retka.
Kodirati:
Sub Example2 () Dim Last_Row As Long Last_Row = Cells (Redovi.Sbroj, 1) .End (xlUp) .Row End Sub
Korak 7: Prikaži vrijednost Last_Row koja sadrži posljednji neprazni broj retka pomoću MsgBox.
Kodirati:
Pod-primjer2 () Dim Last_Row As Long Last_Row = Cells (Red.broj, 1) .End (xlUp) .Row MsgBox Last_Row End Sub
Korak 8: Pokrenite kod pomoću gumba Run ili pritiskom na F5 i pogledajte izlaz.
Izlaz:
Korak 9: Sada, izbrišimo jedan redak i vidimo dali kôd daje točan rezultat ili ne. To će nam pomoći da provjerimo dinamičnost našeg koda.
Primjer br. 2 - Upotreba raspona i specijalnih ćelija
Također možemo koristiti svojstvo Range i SepcialCells VBA da dobijemo zadnji neprazni red excel lista.
Slijedite dolje navedene korake da biste dobili zadnji prazni red u excelu pomoću VBA koda:
Korak 1: Ponovno definirajte varijablu kao Long.
Kodirati:
Sub Primjer3 () Dim Last_Row Kao Long End Sub
Korak 2: Počnite pohranjivati vrijednost u varijablu Last_Row pomoću operatora dodjele.
Kodirati:
Sub Primjer3 () Dim Last_Row As Long Last_Row = Kraj Sub
Korak 3: Pokrenite raspon tipkanja ("A: A") .
Kodirati:
Sub Primjer3 () Dim Last_Row As Long Last_Row = Raspon ("A: A") Kraj Sub
Korak 4: Pomoću funkcije SpecialCells saznajte zadnju ne-praznu ćeliju.
Kodirati:
Sub Example3 () Dim Last_Row As Long Last_Row As Long Last_Row = Raspon ("A: A"). SpecialCells (xlCellTypeLastCell) Kraj Sub
Ova funkcija SpecialCells odabire zadnju ćeliju iz svog excela jer je napisana zagradama ( xlCellTypeLastCell omogućava odabir posljednje ne prazne ćelije s vašeg excel lista).
Korak 5: Sada koristite ROW da biste dobili zadnji redak iz svog excel lista.
Kodirati:
Sub Example3 () Dim Last_Row As Long Last_Row As Long Last_Row = Raspon ("A: A"). SpecialCells (xlCellTypeLastCell) .Row End Sub
Time će se iz vaše izvrsne izvrsnosti vratiti zadnji neprazni redak.
Korak 6: Sada dodijelite ovu vrijednost Last_Row MsgBox-u tako da na polju s porukama možemo vidjeti zadnji neprazni broj retka.
Kodirati:
Sub Example3 () Dim Last_Row As Long Last_Row As Long Last_Row = Raspon ("A: A"). SpecialCells (xlCellTypeLastCell). Row MsgBox Last_Row End Sub
Korak 7: Pokrenite kôd pritiskom na F5 ili gumb Pokreni smješten na vrhu lijevog kuta.
Izlaz:
Možete vidjeti da je posljednji neprazni broj ćelije iskočen kroz MsgBox u odnosu na stupac A. Budući da smo spomenuli stupac A pod opsegom, dok definiramo formulu varijable.
Korak 8: Ako izbrišemo red i možemo pokrenuti ovu formulu. Da vidimo što se događa.
Možete vidjeti da je sustav i dalje brojao redove kao 14. Iako sam izbrisao red i stvarni broj redaka je 13, sustav nije točno zabilježio broj redaka. Da bi sustav zabilježio stvarni broj redaka, trebate spremiti radni list i ponovo pokrenuti kôd.
Možete vidjeti trenutno broj redaka prikazan na ovom snimku zaslona sada.
Primjer 3 - Upotreba Range.Find ()
Slijedite dolje navedene korake da biste dobili zadnji prazni red u excelu pomoću VBA koda:
1. korak: definirajte varijablu kao dugačku.
Kodirati:
Sub Example4 () Dim Last_Row Kao Long End Sub
Korak 2: Sada upotrijebite sljedeći kôd da biste vidjeli posljednji neprazni red.
Kodirati:
Pod-primjer4 () Dim Last_Row As Long Last_Row = Cells.Find (Što: = "*", _ Nakon: = domet ("A1"), _ LookAt: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Row End Sub
Ovdje funkcija FIND traži prvu ćeliju koja nije prazna. Zvezdica (*) je zamjenski operater koji pomaže u pronalaženju istog.
Počevši od ćelije A1 sustav se vraća natrag do posljednje ćelije s lista i traži u smjeru unatrag (xlPrevious). Pomiče se udesno (lijevo) (xlByRows) i petlja se na istom listu kroz sve retke u sličnim linijama dok ne nađe prazan red (vidi .ROW na kraju koda).
Korak 3: Upotrijebite MsgBox za spremanje vrijednosti posljednjeg ne praznog retka i vidite ga kao skočni okvir.
Kodirati:
Pod-primjer4 () Dim Last_Row As Long Last_Row = Cells.Find (Što: = "*", _ Nakon: = domet ("A1"), _ LookAt: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Row MsgBox Last_Row End Sub
Korak 4: Pokrenite kôd i pogledajte izlaz kao skočni okvir koji sadrži posljednji neprazni broj retka.
Izlaz:
Stvari koje treba zapamtiti
- Kraj (Primjer 1) može se koristiti za pronalaženje prve prazne ćelije / retka ili posljednje ne prazne ćelije / retka u određenom stupcu pomoću VBA koda.
- Kraj djeluje na jednom stupcu većinu vremena. Ako imate podatke u rasponima, bilo bi teško odlučiti koji stupac treba upotrijebiti za pronalaženje posljednjeg ne-praznog retka.
- Find (Example3) djeluje na čitav raspon od točke početka i pronalazi zadnju ne-praznu ćeliju / reda u određenom stupcu pomoću VBA koda. Također se može koristiti za pronalaženje posljednjeg ne-praznog stupca.
Preporučeni članci
Ovo je vodič za zadnji red VBA. Ovdje smo raspravljali o tome kako pronaći zadnji upotrijebljeni redak u određenom stupcu, zajedno s nekoliko praktičnih primjera i preuzeti Excel predložak. Možete pogledati i sljedeće članke da biste saznali više -
- Kako koristiti stupac za umetanje VBA?
- Kako odabrati Excel retke i stupce?
- Pregled VBA raspon ćelija
- Kako dodati stanice u Excelu?