VBA Hitta sista raden i Excel (5 sätt)

  • Dela Detta
Hugh West

I VBA kan du använda olika metoder för att hitta den sista raden. I den här artikeln kommer jag att förklara olika metoder för VBA för att hitta den sista raden i Excel.

För att göra denna förklaring synlig kommer jag att använda ett exempel på ett dataset. Det finns fyra kolumner i datasetetet som representerar försäljningsinformation. Kolumnerna är följande Försäljare, region, produkt, och Pris .

Ladda ner till praktiken

VBA Hitta sista raden.xlsm

Sätt att med VBA hitta sista raden i Excel

1. Använda SpecialCells för att hitta sista raden

Du kan använda SpecialCells för att hitta den sista raden med hjälp av VBA .

Öppna först Utvecklare fliken>> välj sedan Visual Basic

Ett nytt fönster med Microsoft Visual Basic för tillämpningar kommer att dyka upp.

Från och med Infoga >> välj Modul

A Modul kommer att öppnas.

Skriv sedan följande kod i Modul .

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

Här har jag skapat en underprocedur som heter LastRow_SpecialCells , där a Lång typ av variabel LastRow har deklarerats.

Därefter definieras variabeln med hjälp av Range.SpecialCells metoden. Här har jag använt kolumnen A ( A:A ) som intervall. Under förutsättning att xlCellTypeLastCell som typparameter för SpecialCells återges den sista cellen i intervallet (i det här fallet från kolumnen A ).

Jag har använt en meddelanderuta för att visa resultatet.

Efter det, Spara koden och gå tillbaka till arbetsbladet.

Öppna återigen Visa flik>> från Makroer >> välj Visa makron

Därefter kan en dialogruta kommer att dyka upp.

Från och med nu, från Makronamn välja den LastRow_SpecialCells också välja arbetsboken inom Makroer i .

Slutligen, Kör den valda Makro .

Det kommer att öppnas en meddelanderuta som visar det sista radnumret.

2. Använda Rows.Count för icke-tomma celler

Du kan använda Rows.Count för att hitta den sista raden med hjälp av VBA .

Öppna nu Utvecklare fliken>> välj sedan Visual Basic

Ett nytt fönster med Microsoft Visual Basic för tillämpningar kommer att dyka upp.

Från och med Infoga >> välj Modul

A Modul kommer att öppnas.

Skriv sedan följande kod i Modul .

 Sub LastRow_NonEmpty() Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row MsgBox LastRow End Sub 

Här har jag skapat en underprocedur som heter LastRow_NonEmpty, där en Lång typ av variabel LastRow har deklarerats.

Nu, CELLS(Rows.Count, 1) räknar hur många rader som finns i den första kolumnen. Därefter används Slut(xlUp).Row Nu hittar du den senast använda raden i ett Excel-område.

Till slut har jag använt en meddelanderuta för att visa resultatet.

Då, Spara koden och gå tillbaka till arbetsbladet.

Här öppnar du Visa flik>> från Makroer >> välj Visa makron

Nu kan en dialogruta kommer att dyka upp.

Sedan, från den Makronamn välja den LastRow_NonEmpty också välja arbetsboken inom Makroer i .

Slutligen, Kör den valda Makro .

Det kommer att öppnas en meddelanderuta som visar det sista radnumret.

3. Använda Rows.Count för alla valda kolumner

Genom att använda en valfri kolumn i VBA, hittar du den sista raden.

Öppna först Utvecklare fliken>> välj sedan Visual Basic

Ett nytt fönster med Microsoft Visual Basic för tillämpningar kommer att dyka upp.

Från och med Infoga >> välj Modul

A Modul kommer att öppnas.

Skriv sedan följande kod i Modul .

 Sub LastRow_AnyColumn() Dim LastRow As Long LastRow = Range("B" & Rows.Count).End(xlUp).Row MsgBox LastRow End Sub 

Här har jag skapat en underprocedur som heter LastRow_AnyColumn, där en Lång typ av variabel LastRow har deklarerats.

Därefter, i den Utbud med tanke på kolumnen B som en parameter och även Rows.Count Detta räknar hur många rader det finns i en viss kolumn. B . Nästa, används Slut(xlup). Row som hittar den senast använda raden i ett Excel-område.

Slutligen har jag använt en meddelanderuta för att visa resultatet.

Nästa, Spara koden och gå tillbaka till arbetsbladet.

Öppna sedan Visa flik>> från Makroer >> välj Visa makron

Här kan en dialogruta kommer att dyka upp.

Från och med nu, från Makronamn välja den LastRow_AnyColumn också välja arbetsboken inom Makroer i .

Slutligen, Kör den valda Makro .

Det kommer att öppnas en meddelanderuta som visar det sista radnumret.

Liknande läsningar:

  • VBA Hitta i kolumnen i Excel (7 metoder)
  • Hitta och ersätta med VBA (11 sätt)
  • Hitta exakt matchning med VBA i Excel (5 sätt)
  • Hur man hittar strängar med VBA i Excel (8 exempel)

4. Använda UsedRange för att hitta sista raden

Du kan använda AnvändsRange i arbetsbladet för att hitta den sista raden med hjälp av VBA .

Öppna nu Utvecklare fliken>> välj sedan Visual Basic

Därefter öppnas ett nytt fönster med Microsoft Visual Basic för tillämpningar kommer att dyka upp.

Från och med Infoga >> välj Modul

A Modul kommer att öppnas.

Skriv sedan följande kod i Modul .

 Sub LastRow_UsedRange() Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row MsgBox "Last Row: " & LastRow End Sub 

Här har jag skapat en underprocedur som heter LastRow_UsedRange, där en Lång typ av variabel LastRow har deklarerats.

Därefter definierar du variabeln med hjälp av ActiveSheet.UsedRange.Rows Metod som också tillhandahålls. ActiveSheet.UsedRange.Rows.Count som parameter för ActiveSheet.UsedRange.Rows kommer den sista raden att returneras.

Jag har använt en meddelanderuta för att visa resultatet.

Nu, Spara koden och gå tillbaka till arbetsbladet.

Öppna sedan Visa flik>> från Makroer >> välj Visa makron

Därefter kommer en dialogruta kommer att dyka upp.

Sedan, från den Makronamn välja den LastRow_UsedRange också välja arbetsboken inom Makroer i .

Slutligen, Kör den valda Makro .

Det kommer att öppnas en meddelanderuta som visar det sista radnumret.

5. Använda Range.Find för att hitta sista raden

Du kan använda Range.Find för att hitta den sista raden med hjälp av VBA .

Öppna nu Utvecklare fliken>> välj sedan Visual Basic

Här öppnas ett nytt fönster med Microsoft Visual Basic för tillämpningar kommer att dyka upp.

Från och med Infoga >> välj Modul

A Modul kommer att öppnas.

Skriv sedan följande kod i Modul .

 Sub Range_Find_Method() Dim LastRow As Long On Error Resume Next LastRow = Cells.Find(What:="*", _ After:=Range("A1"), _ LookAt:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 MsgBox "Last Row: " & LastRow End Sub 

Här har jag skapat en underprocedur som heter Range_Find_Method, där en Lång typ av variabel LastRow har deklarerats.

Därefter definieras variabeln med hjälp av Cells.Find metod. Här deklareras 7 parametrar. I Vad parametern jag använde ("*"), vilket kommer att hitta den första icke-tomma cellen. A1 som intervallet i Efter för att starta. I Titta på parameter som tillhandahålls. xlDel för att titta på vilken del av texten som helst i cellen.

LookIn:=xlFormulas Parametern letar efter formler om det finns några. Sökordning:=xlByRows flyttar sig från höger till vänster och går också uppåt genom varje rad tills den hittar en cell som inte är tom.

MatchCase:=False kommer att ange följande Hitta När en bokstav som inte är tomt hittas stannar den och returnerar radnumret.

Jag har använt en meddelanderuta för att visa resultatet.

Nu, Spara koden och gå tillbaka till arbetsbladet.

Här öppnar du Visa flik>> från Makroer >> välj Visa makron

Nu kan en dialogruta kommer att dyka upp.

Från och med nu, från Makronamn välja den Range_Find_Method också välja arbetsbladet inom Makroer i .

Slutligen, Kör den valda Makro .

Det kommer att öppnas en meddelanderuta som visar det sista radnumret.

Slutsats

I den här artikeln har jag förklarat 5 sätt att VBA hitta den sista raden i Excel. Du kan följa någon av metoderna för att hitta den sista raden. Om du har någon förvirring eller fråga om dessa metoder kan du kommentera nedan.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.