VBA utolsó sor - A három legfontosabb módszer az utoljára használt sor megkeresésére?

Tartalomjegyzék

A VBA-ban, amikor meg kell találnunk az utolsó sort, sokféle módszer létezik, és a leggyakrabban használt módszer az End (XLDown) módszer, és vannak más módszerek is, például az utolsó érték megkeresése a VBA, End függvény keresési függvényével ). A sor a legegyszerűbb módja az utolsó sorhoz jutni.

Excel VBA utolsó sor

Ha a kód megírása az első előrelépés a VBA-ban, akkor a kód dinamikussá tétele a következő lépés az Ön számára. Az Excel tele van cellahivatkozásokkal. Abban a pillanatban, amikor a cellára hivatkozunk, rögzül. Ha adataink növekednek, akkor vissza kell térnünk a cellahivatkozáshoz, és meg kell változtatnunk a hivatkozásokat, hogy az eredmény naprakész legyen.

Például nézze meg az alábbi kódot.

Kód:

Sub Last_Row_Example1 () Tartomány ("D2"). Érték = WorksheetFunction.Sum (tartomány ("B2: B7")) End Sub

A fenti kód azt mondja D2-ben, hogy a cellaértéknek a Tartomány összegzésének kell lennie („B2: B7”).

Most további értékeket adok a listához.

Most, ha futtatom a kódot, az nem adja meg nekem a frissítési eredményt, továbbra is ragaszkodik a régi tartományhoz, azaz a tartományhoz („B2: B7”).

Itt nagyon fontos a dinamikus kód.

A kód dinamikusabbá tétele során nagyon fontos megtalálni az oszlopban az utoljára használt sort. Ebben a cikkben megvitatjuk az Excel VBA utolsó sorának megtalálási módjait.

Hogyan lehet megtalálni az utolsó használt sort az oszlopban?

Az alábbiakban bemutatjuk az Excel VBA utoljára használt sorát.

1. módszer

Mielőtt elmagyaráznám neked a kódot, szeretném, ha emlékeznél arra, hogyan jutsz a normál munkalap utolsó sorához.

A Ctrl + lefelé mutató nyíl billentyűt fogjuk használni .

Ez az utoljára használt üres cellák előtti sorra vezet. Ugyanezt a módszert fogjuk használni a VBA-ban is az utolsó sor megkereséséhez.

1. lépés: Határozza meg a változót LONG-nak.

Kód:

Sub Last_Row_Example2 () Dim LR As Long 'Az LR megértéséhez = Utolsó sor vége Sub

2. lépés: Ehhez a változóhoz hozzárendeljük az utoljára használt sorszámot.

Kód:

Sub Last_Row_Example2 () Dim LR As Long 'Az LR = Utolsó sor LR = End Sub megértéséhez

3. lépés: Írja be a kódot CELLS (Rows.Count,

Kód:

Sub Last_Row_Example2 () Dim LR Long as Long 'Az LR megértéséhez = Utolsó sor LR = Cellák (Rows.Count, End Sub

4. lépés: Most említse meg az oszlop számát 1-nek.

Kód:

Sub Last_Row_Example2 () Dim LR Long as Long 'Az LR megértéséhez = Az utolsó sor LR = Cellák (Rows. Count, 1) End Sub

CELLS (Rows.Count, 1) azt jelenti, hogy megszámoljuk, hány sor van az első oszlopban.

Tehát a fenti VBA kód az excel lap utolsó sorához vezet.

5. lépés: Ha a lap utolsó cellájában vagyunk, hogy az utoljára használt sorra lépjünk, akkor megnyomjuk a Ctrl + Fel nyíl billentyűkombinációt.

A VBA-ban a végkulcsot és felfelé kell használnunk, azaz az End VBA xlUp-t

Kód:

Sub Last_Row_Example2 () Dim LR Long as Long 'Az LR megértéséhez = Az utolsó sor LR = Cellák (Rows.Count, 1). Vége (xlUp) End Sub

6. lépés: Mostantól az alulról utoljára használt sorhoz jutunk. Most kell ennek a sorszáma. Tehát használja a ROW tulajdonságot a sorszám megszerzéséhez.

Kód:

Sub Last_Row_Example2 () Dim LR Long as Long 'Az LR megértéséhez = Az utolsó sor LR = Cellák (Rows.Count, 1) .End (xlUp) .Rend End Sub

7. lépés: Most a változó az utoljára használt sorszámot tartalmazza. Mutassa meg ennek a változónak az értékét az üzenetmezőben a VBA kódban.

Kód:

Sub Last_Row_Example2 () Dim LR Long Long 'Az LR megértéséhez = Az utolsó sor LR = Cellák (Rows. Count, 1). End (xlUp). Sor MsgBox LR End Sub

Futtassa ezt a kódot az F5 billentyűvel vagy manuálisan. Megjeleníti az utoljára használt sort.

Kimenet:

A munkalap utolsó utoljára használt sora 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

A kód megadja az utoljára használt sort is. Nézze meg például az alábbi munkalap képét.

Ha manuálisan futtatom a kódot, vagy az F5 billentyűt használom, az eredmény 12 lesz, mert a 12 az utoljára használt sor.

Kimenet:

Most törlöm a 12. sort, és megnézem az eredményt.

Annak ellenére, hogy töröltem egy sort, az eredmény továbbra is 12-es.

Annak érdekében, hogy ez a kód működjön, minden művelet után meg kell nyomnunk a mentés gombot. Ekkor ez a kód pontos eredményeket ad.

Elmentettem a munkafüzetet, és most látom az eredményt.

3. módszer

Megtalálhatjuk a VBA utolsó sorát a használt tartományban. Az alábbi kód visszaadja az utoljára használt sort is.

Kód:

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

Ez visszaadja az utoljára használt sort is.

Kimenet:

érdekes cikkek...