Innehållsförteckning
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.xlsmSä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.