Innehållsförteckning
När du arbetar med Microsoft Excel är det vanligt att hitta de sista raderna eller kolumnerna. Vi använder tangentbordet för att hitta de senast använda raderna eller kolumnerna. Men du kan hamna i en situation där du behöver hitta den senast använda raden från en komplex datamängd. I den här handledningen lär du dig att hitta den sista raden med data i ett intervall med hjälp av VBA i Excel med praktiska exempel och lämpliga illustrationer.
Ladda ner övningsboken
Ladda ner arbetsboken.
Hitta den senast använda raden i ett intervall.xlsm7 metoder för att hitta sista raden med data i ett intervall med Excel VBA-makros
I de kommande avsnitten kommer vi att ge dig sju metoder som hjälper dig att hitta den sista raden med data i ett intervall med hjälp av VBA i Excel. Vi rekommenderar att du lär dig och tillämpar alla dessa metoder för att berika dina Excel-kunskaper.
📕 Läs mer : Hitta den sista cellen med värde i raden i Excel (6 metoder)
För att demonstrera denna handledning använder vi detta dataset:
Här har vi ett dataset som består av information om vissa spelare och som vi kommer att använda för att lära dig alla metoder.
Öppna VBA-redigeraren
Innan vi börjar ger vi dig en enkel påminnelse om att öppna VBA-redigeraren i Excel.
Tryck först på Alt+F11 på tangentbordet. Välj sedan Infoga> Modul. Därefter öppnas VBA-redigeraren i Excel.
1. Användning av egenskapen Range.End för att hitta sista raden med data i ett intervall med hjälp av VBA
Den här metoden hittar i princip slutet av ett intervall. I huvudsak det senast använda cellintervallet. Vi kan använda den här metoden för att hitta den sista raden med data i ett visst intervall. Om du använder VBA får du önskat resultat.
📌 Steg
① Öppna först VBA Redaktör.
② Skriv sedan följande kod:
Sub range_end_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = Range("B4").End(xlDown).Row MsgBox "Senast använda rad: " & LastRow End Sub
③ Spara filen och tryck sedan på Alt+F8 för att öppna dialogrutan Makro. Välj range_end_method
④ Därefter klickar du på Kör.
Som du kan se har vi lyckats hitta den sista raden med data i ett intervall med hjälp av VBA i Excel.
2. Range.Find egenskap av VBA i Excel
I VBA använder vi metoden Range.Find för att söka efter ett visst värde i en datamängd. Men den här metoden är praktisk för att hitta den sista raden med data i ett intervall. Den fungerar som dialogrutan Hitta & Ersätt i Excel. Metoden Range.Find har många argument, men vi kommer inte att använda dem alla.
Innan vi använder Range.Find-metoden ska vi ge dig lite snabb information:
Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious)
Vad := "*" - Asterisken är ett jokertecken som hittar all text eller alla siffror i cellen. Det är i huvudsak samma sak som att söka efter en cell som inte är tom.
Sökordning:=xlByRows - Detta innebär att man måste gräva igenom varje rad innan man går vidare till nästa. Riktningen söks från vänster till höger eller från höger till vänster beroende på SearchDirection-argumentet. Det ytterligare alternativet här är xlByColumns, som används när man letar efter den sista kolumnen.
SearchDirection:=xlPrevious - Detta bestämmer vilken riktning som ska utforskas. xlPrevious innebär att den söker från höger till vänster eller från botten till toppen. Det andra alternativet är xlNext, vilket innebär att den söker i motsatt riktning.
📌 Steg
① Öppna först VBA Editor.
② Skriv sedan följande kod:
Sub range_find_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row MsgBox "Senast använda rad: " & LastRow End Sub
③ Spara filen och tryck sedan på Alt+F8 för att öppna dialogrutan Makro. Välj range_find_method.
④ Klicka sedan på Kör .
I slutändan kommer den att hitta den sista raden med data i vårt Excel-arbetsblad.
3. Använda funktionen SpecialCells för att hitta sista raden med VBA
Den här metoden fungerar som att trycka på Ctrl+End När du trycker på Ctrl+End på tangentbordet kommer du alltid till den sista raden oavsett var du befinner dig. Men om du vill hitta den senast använda raden med data med hjälp av VBA-koder i Excel är den här koden ett måste för dig.
📌 Steg
① Öppna först VBA Editor.
② Skriv sedan följande kod:
Sub specialcells_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Cells.SpecialCells(xlCellTypeLastCell).Row MsgBox "Senast använda rad: " & LastRow End Sub
③ Spara filen och tryck sedan på Alt+F8 för att öppna dialogrutan Makro. Välj specialcells_metod .
④ Klicka sedan på Kör .
Som du kan se har vi lyckats hitta den sista raden med data med hjälp av VBA i Excel.
4. Använda funktionen UsedRange för att hitta den sista raden med data i ett intervall
UsedRange i VBA är en egenskap i arbetsbladet som returnerar ett intervallobjekt som representerar det använda intervallet (alla Excel-celler som används eller laddas i ett arbetsblad) på ett visst arbetsblad. Det är en egenskap som innebär det område som täcks eller anges av celler som används i övre vänstra delen av arbetsbladet och de senast använda cellerna till höger i ett arbetsblad.
📌 Steg
① Öppna först VBA Editor.
② Skriv sedan följande kod:
Sub usedRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row MsgBox "Sista använda raden: " & LastRow End Sub
③ Spara filen och tryck sedan på Alt+F8 för att öppna dialogrutan Makro. Välj usedRange_method.
④ Klicka sedan på Kör .
Slutligen kommer du att se den senast använda raden på ett kalkylblad i Excel.
5. Använda tabellområde med VBA i Excel
Om du har en tabell i arbetsbladet kan du hitta den sista raden med data med den här metoden.
📌 Steg
① Öppna först VBA Editor.
② Skriv sedan följande kod:
Sub TableRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.ListObjects("Table1").Range.Rows.Count + 3 MsgBox "Senast använda raden: " & LastRow End Sub
Obs : Här lägger vi till 3 med den sista raden eftersom vårt dataset började efter rad 3.
③ Spara filen och tryck sedan på Alt+F8 för att öppna dialogrutan Makro. Välj TableRange_method.
④ Klicka sedan på Kör .
Som du kan se har vi lyckats använda tabellintervallmetoden i VBA-koder för att hitta den sista raden med data i Excel.
6. Användning av det namngivna intervallet för att hitta den sista raden med data i ett intervall
Den här metoden används inte ofta i Excel, men vi tycker att du bör lära dig den för att berika dina kunskaper.
Om ditt dataset har ett namngivet intervall kan du använda den här koden. Ta en titt på följande skärmdump, som innehåller ett namngivet intervall.
📌 Steg
① Öppna först VBA Editor.
② Skriv sedan följande kod:
Sub nameRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("Named_Range").Rows.Count + 1 MsgBox "senast använda rad: " & LastRow End Sub
Obs : Vi lägger till 1 till LastRow eftersom vårt intervall började efter rad 1.
③ Spara filen och tryck sedan på Alt+F8 för att öppna dialogrutan Makro. Välj nameRange_method.
④ Därefter klickar du på Kör.
Som du kan se har vi lyckats hitta den sista raden med data med hjälp av VBA.
7. CurrentRegion-funktionen i VBA i Excel
Du kan också använda VBA-metoden CurrentRegion för att hitta den senast använda raden i Excel. Även om det är knepigt kan du använda detta till din fördel om du vill.
📌 Steg
① Öppna först VBA Editor.
② Skriv sedan följande kod:
Sub CurrentRegion_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("B4").CurrentRegion.Rows.Count + 3 "Lägg till siffror enligt ditt val" MsgBox "Last used row: " & LastRow End Sub
Obs : Range ska vara den första cellen i datasetet. Lägg till antalet rader enligt ditt val. Här har vi lagt till 3 eftersom datasetetet började efter rad 3.
③ Spara filen och tryck sedan på Alt+F8 för att öppna dialogrutan Makro. Välj CurrentRegion_method
④ Därefter klickar du på Kör.
Som du kan se har vi lyckats hitta den sista raden med data med hjälp av VBA-koden.
💬 Saker att komma ihåg
✎ Range.End fungerar bara på en enda rad eller kolumn. Om ditt dataset innehåller många tomma celler blir det svårt att hitta den sista raden med data.
✎ Ibland måste du lägga till vissa värden till dina metoder för att koden ska fungera smidigt. Vi lade till radnummer för att hitta den sista cellen. Du måste alltså komma ihåg var ditt dataset började.
Slutsats
Avslutningsvis hoppas jag att den här handledningen har gett dig användbar kunskap om att hitta sista raden med data i ett intervall med hjälp av VBA i Excel. Vi rekommenderar att du lär dig och tillämpar alla dessa instruktioner på ditt dataset. Ladda ner övningsarbetsboken och prova dem själv. Du får också gärna ge feedback i kommentarsfältet. Din värdefulla feedback håller oss motiverade att skapa handledningar som denna.
Glöm inte att besöka vår webbplats Exceldemy.com för olika Excel-relaterade problem och lösningar.
Fortsätt att lära dig nya metoder och fortsätt att växa!