VBA sista raden - Topp 3 metoder för att hitta den senast använda raden?

Innehållsförteckning

I VBA när vi måste hitta den sista raden finns det många olika metoder och den vanligaste metoden är End (XLDown) -metoden och det finns andra metoder som att hitta det sista värdet med hjälp av sökfunktionen i VBA, End (XLDown ). Raden är det enklaste sättet att komma till den sista raden.

Excel VBA sista raden

Om att skriva koden är det första du gjort i VBA är det nästa steg för dig att göra koden dynamisk. Excel är fullt av cellreferenser. I det ögonblick som vi hänvisar till cellen blir den fixad. Om våra data ökar måste vi gå tillbaka till cellreferensen och ändra referenserna för att göra resultatet uppdaterat.

För ett exempel, se nedanstående kod.

Koda:

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

Ovanstående kod säger i D2, cellvärde ska vara summeringen av Range (“B2: B7”).

Nu ska jag lägga till fler värden i listan.

Om jag nu kör koden kommer det inte att ge mig uppdateringsresultatet snarare, det håller fortfarande fast vid det gamla intervallet, dvs. Range (“B2: B7”).

Det är här den dynamiska koden är mycket viktig.

Under processen att göra koden dynamisk är det mycket viktigt att hitta den senast använda raden i kolumnen. I den här artikeln kommer vi att diskutera sätten att hitta den sista raden i Excel VBA.

Hur hittar jag senast använda rader i kolumnen?

Nedan följer exemplen för att hitta den senast använda raden i Excel VBA.

Metod 1

Innan jag förklarar för dig koden vill jag att du kommer ihåg hur du går till den sista raden i det vanliga kalkylbladet.

Vi använder snabbtangenten Ctrl + nedåtpilen.

Det tar oss till den senast använda raden före en tom cell. Vi kommer att använda samma metod i VBA för att hitta den sista raden.

Steg 1: Definiera variabeln som LÅNG.

Koda:

Sub Last_Row_Example2 () Dim LR Så länge 'För att förstå LR = Last Rad End Sub

Steg 2: För den här variabeln tilldelar vi det senast använda radnumret.

Koda:

Sub Last_Row_Example2 () Dim LR Så länge 'För att förstå LR = Senaste rad LR = End Sub

Steg 3: Skriv koden som CELLS (Rows.Count,

Koda:

Sub Last_Row_Example2 () Dim LR Så länge 'För att förstå LR = Last Row LR = Cells (Rows.Count, End Sub

Steg 4: Ange nu kolumnnumret som 1.

Koda:

Sub Last_Row_Example2 () Dim LR Så länge 'För att förstå LR = Last Row LR = Cells (Rows.Count, 1) End Sub

CELLS (Rows.Count, 1) betyder att räkna hur många rader som finns i den första kolumnen.

Så ovanstående VBA-kod tar oss till den sista raden i Excel-bladet.

Steg 5: Om vi ​​befinner oss i den sista cellen på arket för att gå till den senast använda raden, kommer vi att trycka på genvägsknappen är Ctrl + Pil upp .

I VBA måste vi använda slutknappen och uppåt, dvs. sluta VBA xlUp

Koda:

Sub Last_Row_Example2 () Dim LR Så länge 'För att förstå LR = Last Row LR = Cells (Rows.Count, 1). End (xlUp) End Sub

Steg 6: Nu tar det oss till den senast använda raden från botten. Nu behöver vi radnumret på detta. Så använd egenskapen ROW för att få radnumret.

Koda:

Sub Last_Row_Example2 () Dim LR Så länge 'För att förstå LR = Last Row LR = Cells (Rows.Count, 1). End (xlUp). Row End Sub

Steg 7: Nu innehåller variabeln det senast använda radnumret. Visa värdet på denna variabel i meddelandefältet i VBA-kod.

Koda:

Sub Last_Row_Example2 () Dim LR Så länge 'För att förstå LR = Last Row LR = Cells (Rows.Count, 1). End (xlUp). Row MsgBox LR End Sub

Kör den här koden med F5-tangenten eller manuellt. Den visar den senast använda raden.

Produktion:

Den senast använda raden i detta kalkylblad är 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

Koden ger dig också den senast använda raden. Titta till exempel på bilden nedan på kalkylbladet.

Om jag kör koden manuellt eller använder F5-tangenten blir resultatet 12 eftersom 12 är den senast använda raden.

Produktion:

Nu tar jag bort den 12: e raden och ser resultatet.

Trots att jag har tagit bort en rad visar det fortfarande resultatet som 12.

För att få den här koden att fungera måste vi trycka på spara-knappen efter varje åtgärd. Då kommer den här koden att ge korrekta resultat.

Jag har sparat arbetsboken och ser nu resultatet.

Metod # 3

Vi hittar VBAs sista rad i det använda intervallet. Koden nedan returnerar också den senast använda raden.

Koda:

Sub Last_Row_Example4 () Dim LR Så länge LR = ActiveSheet.UsedRange.Rows (ActiveSheet.UsedRange.Rows.Count) .Row MsgBox LR End Sub

Detta kommer också att returnera den senast använda raden.

Produktion:

Intressanta artiklar...