Indholdsfortegnelse
I VBA kan du bruge forskellige metoder til at finde den sidste række. I denne artikel vil jeg forklare forskellige metoder til VBA finde sidste række i Excel.
For at gøre denne forklaring synlig vil jeg bruge et eksempeldatasæt. Der er 4 kolonner i datasættet, som repræsenterer salgsoplysninger. Disse kolonner er Salgsperson, region, produkt, og Pris .
Download Til praksis
VBA Find sidste række.xlsmMåder at VBA finde sidste række i Excel
1. Brug af SpecialCells til at finde sidste række
Du kan bruge SpecialCells metode til at finde den sidste række ved hjælp af VBA .
Først skal du åbne den Udvikler fanebladet>> vælg derefter Visual Basic
Et nyt vindue med Microsoft Visual Basic for Applications vil dukke op.
Nu, fra Indsæt >> vælg Modul
A Modul vil blive åbnet.
Skriv derefter følgende kode i Modul .
Sub LastRow_SpecialCells() Dim LastRow As Long LastRow = Range("A:A").SpecialCells(xlCellTypeLastCell).Row MsgBox LastRow End Sub
Her har jeg oprettet en underprocedure kaldet LastRow_SpecialCells , hvor a Lang type af variabel LastRow er blevet erklæret.
Derefter defineres variablen ved hjælp af Range.SpecialCells metode. Her har jeg brugt kolonne A ( A:A ) som interval. Forudsat xlCellTypeLastCell som typeparameter for SpecialCells vil dette returnere den sidste celle for området (i dette tilfælde fra kolonne A ).
Jeg har brugt en beskedboks til at vise resultatet.
Derefter, Gem koden, og gå tilbage til regnearket.
Igen skal du åbne den Se faneblad>> fra Makroer >> vælg Vis makroer
Derefter skal en dialogboks vil dukke op.
Nu, fra den Makronavn vælge den LastRow_SpecialCells også vælge arbejdsmappen i Makroer i .
Endelig, Kør den valgte Makro .
Der vises en beskedboks med det sidste rækkenummer.
2. Brug af Rows.Count for ikke-tomme celler
Du kan bruge Rows.Count metode til at finde den sidste række ved hjælp af VBA .
Nu skal du åbne den Udvikler fanebladet>> vælg derefter Visual Basic
Et nyt vindue med Microsoft Visual Basic for Applications vil dukke op.
Nu, fra Indsæt >> vælg Modul
A Modul vil blive åbnet.
Skriv derefter følgende kode i Modul .
Sub LastRow_NonEmpty() Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row MsgBox LastRow End Sub
Her har jeg oprettet en underprocedure kaldet LastRow_NonEmpty, hvor en Lang type af variabel LastRow er blevet erklæret.
Nu, CELLS(Rows.Count, 1) tæller, hvor mange rækker der er i den første kolonne. Derefter bruges End(xlUp).Row nu vil dette finde den sidst anvendte række i et Excel-område.
Til sidst har jeg brugt en beskedboks til at vise resultatet.
Derefter, Gem koden og gå tilbage til regnearket.
Her skal du åbne Se faneblad>> fra Makroer >> vælg Vis makroer
Nu er en dialogboks vil dukke op.
Derefter, fra den Makronavn vælge den LastRow_NonEmpty også vælge arbejdsmappen i Makroer i .
Endelig, Kør den valgte Makro .
Der vises en beskedboks med det sidste rækkenummer.
3. Brug af Rows.Count for enhver udvalgt kolonne
Ved at bruge en hvilken som helst markeret kolonne i VBA, kan du finde den sidste række.
Først skal du åbne den Udvikler fanebladet>> vælg derefter Visual Basic
Et nyt vindue med Microsoft Visual Basic for Applications vil dukke op.
Nu, fra Indsæt >> vælg Modul
A Modul vil blive åbnet.
Skriv derefter følgende kode i Modul .
Sub LastRow_AnyColumn() Dim LastRow As Long LastRow = Range("B" & Rows.Count).End(xlUp).Row MsgBox LastRow End Sub
Her har jeg oprettet en underprocedure kaldet LastRow_AnyColumn, hvor en Lang type af variabel LastRow er blevet erklæret.
Derefter, i den Område i betragtning af kolonnen B som en parameter og også Rows.Count , dette vil tælle, hvor mange rækker der er i en given kolonne B . Næste, brugte End(xlup). række som finder den sidst anvendte række i et Excel-område.
Til sidst har jeg brugt en beskedboks til at vise resultatet.
Næste, Gem koden, og gå tilbage til regnearket.
Derefter skal du åbne den Se faneblad>> fra Makroer >> vælg Vis makroer
Her er en dialogboks vil dukke op.
Nu, fra den Makronavn vælge den LastRow_AnyColumn også vælge arbejdsmappen i Makroer i .
Endelig, Kør den valgte Makro .
Der vises en beskedboks med det sidste rækkenummer.
Lignende læsninger:
- VBA Find i kolonne i Excel (7 fremgangsmåder)
- Find og erstat ved hjælp af VBA (11 måder)
- Find nøjagtig match ved hjælp af VBA i Excel (5 måder)
- Sådan finder du en streng med VBA i Excel (8 eksempler)
4. Brug af UsedRange til at finde sidste række
Du kan bruge UsedRange egenskaben i regnearket for at finde den sidste række ved hjælp af VBA .
Nu skal du åbne den Udvikler fanebladet>> vælg derefter Visual Basic
Derefter åbnes et nyt vindue med Microsoft Visual Basic for Applications vil dukke op.
Nu, fra Indsæt >> vælg Modul
A Modul vil blive åbnet.
Skriv derefter følgende kode i Modul .
Sub LastRow_UsedRange() Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row MsgBox "Last Row: " & LastRow End Sub
Her har jeg oprettet en underprocedure kaldet LastRow_UsedRange, hvor en Lang type af variabel LastRow er blevet erklæret.
Derefter defineres variablen ved hjælp af ActiveSheet.UsedRange.Rows metode også fastsat ActiveSheet.UsedRange.Rows.Count som parameter for ActiveSheet.UsedRange.Rows , dette vil returnere den sidste række.
Jeg har brugt en beskedboks til at vise resultatet.
Nu, Gem koden, og gå tilbage til regnearket.
Derefter skal du åbne den Se faneblad>> fra Makroer >> vælg Vis makroer
Dernæst er der en dialogboks vil dukke op.
Derefter, fra den Makronavn vælge den LastRow_UsedRange også vælge arbejdsmappen i Makroer i .
Endelig, Kør den valgte Makro .
Der vises en beskedboks med det sidste rækkenummer.
5. Brug af Range.Find til at finde sidste række
Du kan bruge Range.Find metode til at finde den sidste række ved hjælp af VBA .
Nu skal du åbne den Udvikler fanebladet>> vælg derefter Visual Basic
Her vises et nyt vindue med Microsoft Visual Basic for Applications vil dukke op.
Nu, fra Indsæt >> vælg Modul
A Modul vil blive åbnet.
Skriv derefter følgende kode 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 "Sidste række: " & LastRow End Sub
Her har jeg oprettet en underprocedure kaldet Range_Find_Method, hvor en Lang type af variabel LastRow er blevet erklæret.
Derefter defineres variablen ved hjælp af Cells.Find metode. Her er der angivet 7 parametre. I Hvad parameter, som jeg har brugt ("*"), som finder den første ikke-tomme celle. A1 som området i Efter parameter til at starte. I LookAt parameter forudsat xlPart for at se en hvilken som helst del af teksten i cellen.
LookIn:=xlFormulas parameter vil søge efter formler, hvis der er nogen. SearchOrder:=xlByRows parameteren bevæger sig fra højre til venstre og løber også op gennem hver række, indtil den finder en ikke-tom celle.
MatchCase:=False parameter vil fortælle Find Når der findes et bogstav, der ikke er et tomrum, stopper den og returnerer række-nummeret.
Jeg har brugt en beskedboks til at vise resultatet.
Nu, Gem koden og gå tilbage til regnearket.
Her skal du åbne Se faneblad>> fra Makroer >> vælg Vis makroer
Nu er en dialogboks vil dukke op.
Nu, fra den Makronavn vælge den Range_Find_Method også vælge regnearket i Makroer i .
Endelig, Kør den valgte Makro .
Der vises en beskedboks med det sidste rækkenummer.
Konklusion
I denne artikel har jeg forklaret 5 måder at VBA finde den sidste række i Excel. Du kan følge en af metoderne til at finde den sidste række. Hvis du har nogen forvirring eller spørgsmål vedrørende disse metoder, kan du kommentere nedenfor.