Find sidste række med data i et område ved hjælp af Excel VBA-makroer (7 metoder)

  • Del Dette
Hugh West

Når du arbejder med Microsoft Excel, er det en almindelig opgave at finde de sidste rækker eller kolonner. Vi bruger tastaturet til at finde de sidst anvendte rækker eller kolonner. Men måske befinder du dig i en situation, hvor du skal finde den sidst anvendte række fra et komplekst datasæt. I denne vejledning lærer du at finde den sidste række med data i et område ved hjælp af VBA i Excel med praktiske eksempler og gode illustrationer.

Download arbejdsbog til øvelser

Download denne øvelsesarbejdsbog.

Find den sidst anvendte række i et interval.xlsm

7 metoder til at finde den sidste række med data i et område ved hjælp af Excel VBA-makroer

I de kommende afsnit vil vi give dig syv metoder, der vil hjælpe dig med at finde den sidste række med data i et område ved hjælp af VBA i Excel. Vi anbefaler, at du lærer og anvender alle disse metoder for at berige din Excel-viden.

📕 Læs mere : Find den sidste celle med værdi i en række i Excel (6 metoder)

For at demonstrere denne vejledning bruger vi dette datasæt:

Her har vi et datasæt, som består af nogle spilleroplysninger, og som vi vil bruge til at lære dig alle metoderne.

Åbn VBA-editor

Inden vi går i gang, giver vi dig en simpel påmindelse om at åbne VBA-editoren i Excel.

Først skal du trykke på Alt+F11 på dit tastatur. Vælg derefter Indsæt> Modul. Herefter åbnes VBA-editoren i Excel.

1. Brug af egenskaben Range.End til at finde sidste række med data i et område ved hjælp af VBA

Denne metode finder grundlæggende set slutningen af et område. Primært det sidst anvendte celleområde. Vi kan bruge denne metode til at finde den sidste række med data i et givet område. Ved at bruge VBA får du de ønskede resultater.

📌 Trin

Først skal du åbne den VBA Redaktør.

Indtast derefter følgende kode:

 Sub range_end_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = Range("B4").End(xlDown).Row MsgBox "Sidst anvendte række: " & LastRow End Sub 

Gem nu filen, og tryk derefter på Alt+F8 for at åbne dialogboksen Makro. Vælg range_end_method

Klik derefter på Kør.

Som du kan se, er det lykkedes os at finde den sidste række med data i et område ved hjælp af VBA i Excel.

2. Range.Find Egenskab af VBA i Excel

I VBA bruger vi metoden Range.Find til at søge efter en bestemt værdi i et datasæt. Men denne metode er praktisk til at finde den sidste række med data i et område. Den fungerer ligesom dialogboksen Find & Replace i Excel. Range.Find-metoden har mange argumenter, men vi vil ikke bruge dem alle.

Før vi bruger metoden Range.Find, skal vi give dig nogle hurtige oplysninger:

Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious)

Hvad := "*" - Stjernetegn er et jokertegn, der finder enhver tekst eller ethvert tal i cellen. Det er primært det samme som at søge efter en celle, der ikke er tom.

SearchOrder:=xlByRows - Det betyder, at det er nødvendigt at grave hele rækken igennem, før man går videre til den næste. Retningen søges fra venstre mod højre eller fra højre mod venstre afhængigt af SearchDirection-argumentet. Den yderligere mulighed her er xlByColumns, som anvendes ved lokalisering af den sidste kolonne.

SearchDirection:=xlPrevious - Dette bestemmer, hvilken retning der skal undersøges. xlPrevious betyder, at den vil søge fra højre til venstre eller fra bund til top. Det andet alternativ er xlNext, som skifter i den modsatte retning.

📌 Trin

Først skal du åbne VBA-editoren.

Indtast derefter følgende kode:

 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 "Last used row: " & LastRow End Sub 

Gem nu filen. Tryk derefter på Alt+F8 for at åbne dialogboksen Makro. Vælg range_find_method.

Derefter skal du klikke på Kør .

Til sidst vil den finde den sidste række med data i vores Excel-regneark.

3. Brug af SpecialCells-funktionen til at finde sidste række ved hjælp af VBA

Denne metode fungerer på samme måde som at trykke på Ctrl+End Når du trykker på Ctrl+End på dit tastatur, vil det altid føre dig til den sidste række, uanset hvor du er. Men hvis du vil finde den sidst anvendte række med data ved hjælp af VBA-koder i Excel, er denne kode et must for dig.

📌 Trin

Først skal du åbne VBA-editoren.

Indtast derefter følgende kode:

 Sub specialcells_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Cells.SpecialCells(xlCellTypeLastCell).Row MsgBox "Sidst anvendte række: " & LastRow End Sub 

Gem nu filen. Tryk derefter på Alt+F8 for at åbne dialogboksen Makro. Vælg specialcells_metode .

Derefter skal du klikke på Kør .

Som du kan se, er det lykkedes os at finde den sidste række med data ved hjælp af VBA i Excel.

4. Brug af funktionen UsedRange til at finde den sidste række med data i et område

UsedRange i VBA er en egenskab i regnearket, der returnerer et områdeobjekt, der repræsenterer det anvendte område (alle Excel-celler, der anvendes eller indlæses i et regneark) på et bestemt regneark. Det er en egenskab, der betyder det område, der er dækket eller angivet af de øverste venstre anvendte celler og de sidste højre anvendte celler i et regneark.

📌 Trin

Først skal du åbne VBA-editoren.

Indtast derefter følgende kode:

 Sub usedRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row MsgBox "Sidste brugte række: " & LastRow End Sub 

Gem nu filen. Tryk derefter på Alt+F8 for at åbne dialogboksen Makro. Vælg usedRange_method.

Derefter skal du klikke på Kør .

Endelig vil du se den sidst anvendte række på et regneark i Excel med succes.

5. Brug af tabelområde ved hjælp af VBA i Excel

Hvis du har en tabel i dit regneark, kan du finde den sidste række med data med denne metode.

📌 Trin

Først skal du åbne VBA-editoren.

Indtast derefter følgende kode:

 Sub TableRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.ListObjects("Table1").Range.Rows.Count + 3 MsgBox "Sidste anvendte række: " & LastRow End Sub 

Bemærk : Her tilføjer vi 3 med den sidste række, da vores datasæt startede efter række 3.

Gem nu filen. Tryk derefter på Alt+F8 for at åbne dialogboksen Makro. Vælg TableRange_metode.

Derefter skal du klikke på Kør .

Som du kan se, har vi med succes brugt tabelområde-metoden i VBA-koder til at finde den sidste række med data i Excel.

6. Brug af det navngivne område til at finde den sidste række med data i et område

Denne metode er ikke almindeligvis anvendt i Excel, men vi synes, at du bør lære den for at berige din viden.

Hvis dit datasæt har et navngivet område, kan du bruge denne kode. Se følgende skærmbillede, som indeholder et navngivet område.

📌 Trin

Først skal du åbne VBA-editoren.

Indtast derefter følgende kode:

 Sub nameRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("Named_Range").Rows.Count + 1 MsgBox "sidste anvendte række: " & LastRow End Sub 

Bemærk : Vi tilføjer 1 til LastRow, fordi vores række startede efter række 1.

Gem nu filen, og tryk derefter på Alt+F8 for at åbne dialogboksen Makro. Vælg nameRange_metode.

Klik derefter på Kør.

Som du kan se, er det lykkedes os at finde den sidste række med data ved hjælp af VBA.

7. CurrentRegion-funktionen i VBA i Excel

Du kan også bruge CurrentRegion-metoden i VBA til at finde den sidst anvendte række i Excel. Selv om det er vanskeligt, kan du bruge dette til din fordel, hvis du vil.

📌 Trin

Først skal du åbne VBA-editoren.

Indtast derefter følgende kode:

 Sub CurrentRegion_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("B4").CurrentRegion.Rows.Count + 3 'tilføj tal efter eget valg' MsgBox "Last used row: " & LastRow End Sub 

Bemærk : Range skal være den første celle i dit datasæt. Tilføj dit antal rækker efter eget valg. Her har vi tilføjet 3, fordi vores datasæt startede efter række 3.

Gem nu filen. Tryk derefter på Alt+F8 for at åbne dialogboksen Makro. Vælg CurrentRegion_metode

Klik derefter på Kør.

Som du kan se, er det lykkedes os at finde den sidste række med data ved hjælp af VBA-koden.

💬 Ting, du skal huske

Range.End virker kun på en enkelt række eller kolonne. Hvis dit datasæt indeholder mange tomme celler, vil det være svært at finde den sidste række med data.

Nogle gange er du nødt til at tilføje nogle værdier til dine metoder for at få koden til at køre problemfrit. Vi tilføjede rækketal for at finde den sidste celle. Så du skal huske, hvorfra dit datasæt startede.

Konklusion

Afslutningsvis håber jeg, at denne vejledning har givet dig et stykke nyttig viden om at finde sidste række med data i et område ved hjælp af VBA i Excel. Vi anbefaler, at du lærer og anvender alle disse instruktioner på dit datasæt. Download arbejdsmappen til øvelser og prøv dem selv. Du er også velkommen til at give feedback i kommentarfeltet. Din værdifulde feedback holder os motiveret til at oprette vejledninger som denne.

Glem ikke at tjekke vores websted Exceldemy.com til forskellige Excel-relaterede problemer og løsninger.

Bliv ved med at lære nye metoder, og bliv ved med at vokse!

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.