VBA rasti paskutinę eilutę programoje "Excel" (5 būdai)

  • Pasidalinti
Hugh West

VBA galite naudoti skirtingus metodus paskutinei eilutei rasti. Šiame straipsnyje paaiškinsiu skirtingus VBA metodus, kaip rasti paskutinę eilutę "Excel" programoje.

Kad šis paaiškinimas būtų akivaizdus, naudosiu pavyzdinį duomenų rinkinį. Duomenų rinkinyje yra 4 stulpeliai, kuriuose pateikiama informacija apie pardavimus. Šie stulpeliai yra Pardavėjas, regionas, produktas, ir Kaina .

Atsisiųsti į praktiką

VBA Rasti paskutinę eilutę.xlsm

VBA paskutinės eilutės paieškos būdai programoje "Excel

1. Naudojant "SpecialCells" rasti paskutinę eilutę

Galite naudoti SpecialCells metodą, kad rastumėte paskutinę eilutę naudodami VBA .

Pirmiausia atidarykite Kūrėjas skirtukas>> tada pasirinkite "Visual Basic

Naujas langas "Microsoft Visual Basic for Applications pasirodys.

Dabar iš Įdėkite >> pasirinkti Modulis

A Modulis bus atidarytas.

Tada įrašykite šį kodą į Modulis .

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

Čia sukūriau subprocedūrą, pavadintą LastRow_SpecialCells , kur a Ilgas kintamojo tipas LastRow paskelbta.

Tada apibrėžkite kintamąjį naudodami Range.SpecialCells metodą. Čia naudojau stulpelį A ( A:A ) kaip diapazonas. xlCellTypeLastCell kaip tipo parametras SpecialCells bus grąžinta paskutinė diapazono ląstelė (šiuo atveju iš stulpelio A ).

Rezultatui parodyti naudojau pranešimų langelį.

Po to, Išsaugoti kodą ir grįžkite į darbalapį.

Vėl atidarykite Peržiūrėti skirtukas>> iš Makrokomandos >> pasirinkti Peržiūrėti makrokomandas

Tada a dialogo langas pasirodys.

Dabar iš Makro pavadinimas pasirinkite LastRow_SpecialCells taip pat pasirinkite darbo knygą, esančią Makrokomandos .

Galiausiai, Paleisti pasirinktas Makro .

Taigi, bus rodomas pranešimo langas, kuriame bus nurodytas paskutinės eilutės numeris.

2. Naudojant Rows.Count ne tuščių langelių atveju

Galite naudoti Rows.Count metodą, kad rastumėte paskutinę eilutę naudodami VBA .

Dabar atidarykite Kūrėjas skirtukas>> tada pasirinkite "Visual Basic

Naujas langas "Microsoft Visual Basic for Applications pasirodys.

Dabar iš Įdėkite >> pasirinkti Modulis

A Modulis bus atidarytas.

Tada įrašykite šį kodą į Modulis .

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

Čia sukūriau paprocedūrą LastRow_NonEmpty, kurioje Ilgas kintamojo tipas LastRow paskelbta.

Dabar, CELLS(Rows.Count, 1) suskaičiuos, kiek eilučių yra pirmajame stulpelyje. Tada naudokite End(xlUp).Row dabar tai padės rasti paskutinę naudotą eilutę "Excel" diapazone.

Galiausiai rezultatams parodyti naudojau pranešimų langelį.

Tada, Išsaugoti kodą ir grįžkite į darbalapį.

Čia atidarykite Peržiūrėti skirtukas>> iš Makrokomandos >> pasirinkti Peržiūrėti makrokomandas

Dabar, a dialogo langas pasirodys.

Tada iš Makro pavadinimas pasirinkite LastRow_NonEmpty taip pat pasirinkite darbo knygą, esančią Makrokomandos .

Galiausiai, Paleisti pasirinktas Makro .

Taigi, bus rodomas pranešimo langas, kuriame bus nurodytas paskutinės eilutės numeris.

3. Naudojant Rows.Count bet kuriam pasirinktam stulpeliui

Naudodami bet kurį pasirinktą stulpelį VBA, rasite paskutinę eilutę.

Pirmiausia atidarykite Kūrėjas skirtukas>> tada pasirinkite "Visual Basic

Naujas langas "Microsoft Visual Basic for Applications pasirodys.

Dabar iš Įdėkite >> pasirinkti Modulis

A Modulis bus atidarytas.

Tada įrašykite šį kodą į Modulis .

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

Čia sukūriau subprocedūrą LastRow_AnyColumn, kurioje Ilgas kintamojo tipas LastRow paskelbta.

Tada Diapazonas atsižvelgiant į stulpelį B kaip parametrą ir Rows.Count , bus suskaičiuota, kiek eilučių yra tam tikrame stulpelyje B . Kitas, naudotas End(xlup). eilutė kuri suras paskutinę naudotą eilutę "Excel" diapazone.

Galiausiai, rezultatui parodyti naudojau pranešimų langelį.

Kitas, Išsaugoti kodą ir grįžkite į darbalapį.

Tada atidarykite Peržiūrėti skirtukas>> iš Makrokomandos >> pasirinkti Peržiūrėti makrokomandas

Čia a dialogo langas pasirodys.

Dabar iš Makro pavadinimas pasirinkite LastRow_AnyColumn taip pat pasirinkite darbo knygą, esančią Makrokomandos .

Galiausiai, Paleisti pasirinktas Makro .

Taigi, bus rodomas pranešimo langas, kuriame bus nurodytas paskutinės eilutės numeris.

Panašūs skaitiniai:

  • VBA paieška "Excel" stulpelyje (7 būdai)
  • Rasti ir pakeisti naudojant VBA (11 būdų)
  • Tikslaus atitikmens paieška naudojant VBA programoje "Excel" (5 būdai)
  • Kaip rasti eilutę su VBA programa "Excel" (8 pavyzdžiai)

4. Naudojant UsedRange rasti paskutinę eilutę

Galite naudoti NaudotasRange darbalapio savybė rasti paskutinę eilutę naudojant VBA .

Dabar atidarykite Kūrėjas skirtukas>> tada pasirinkite "Visual Basic

Tada bus atidarytas naujas langas "Microsoft Visual Basic for Applications pasirodys.

Dabar iš Įdėkite >> pasirinkti Modulis

A Modulis bus atidarytas.

Tada įrašykite šį kodą į Modulis .

 Sub LastRow_UsedRange() Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row MsgBox "Paskutinė eilutė: " & amp; LastRow End Sub 

Čia sukūriau subprocedūrą LastRow_UsedRange, kurioje Ilgas kintamojo tipas LastRow paskelbta.

Tada apibrėžkite kintamąjį naudodami ActiveSheet.UsedRange.Rows taip pat pateikiamas metodas ActiveSheet.UsedRange.Rows.Count kaip parametras ActiveSheet.UsedRange.Rows , bus grąžinta paskutinė eilutė.

Rezultatui parodyti naudojau pranešimų langelį.

Dabar, Išsaugoti kodą ir grįžkite į darbalapį.

Tada atidarykite Peržiūrėti skirtukas>> iš Makrokomandos >> pasirinkti Peržiūrėti makrokomandas

Toliau, a dialogo langas pasirodys.

Tada iš Makro pavadinimas pasirinkite LastRow_UsedRange taip pat pasirinkite darbo knygą, esančią Makrokomandos .

Galiausiai, Paleisti pasirinktas Makro .

Taigi, bus rodomas pranešimo langas, kuriame bus nurodytas paskutinės eilutės numeris.

5. Naudojant Range.Find rasti paskutinę eilutę

Galite naudoti Range.Find metodą, kad rastumėte paskutinę eilutę naudodami VBA .

Dabar atidarykite Kūrėjas skirtukas>> tada pasirinkite "Visual Basic

Čia atveriamas naujas langas "Microsoft Visual Basic for Applications pasirodys.

Dabar iš Įdėkite >> pasirinkti Modulis

A Modulis bus atidarytas.

Tada įrašykite šį kodą į Modulis .

 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: " & amp; LastRow End Sub 

Čia sukūriau subprocedūrą, pavadintą Range_Find_Method, kurioje Ilgas kintamojo tipas LastRow paskelbta.

Tada apibrėžkite kintamąjį naudodami Cells.Find metodą. Čia deklaruoti 7 parametrai. parametras, kurį naudojau ("*"), bus rastas pirmas ne tuščias langelis. A1 kaip diapazonas Po parametras pradėti. LookAt pateiktas parametras xlDalis norėdami peržiūrėti bet kurią ląstelėje esančią teksto dalį.

LookIn:=xlFormulas parametras ieškos formulių, jei jų yra. SearchOrder:=xlByRows parametras judės iš dešinės į kairę ir taip pat eis per kiekvieną eilutę, kol ras ne tuščią langelį.

MatchCase:=False parametras nurodys Rasti neatsižvelgti į didžiąsias ar mažąsias raides. Radus ne tuščiąją raidę, jis sustoja ir grąžina eilutės numerį.

Rezultatui parodyti naudojau pranešimų langelį.

Dabar, Išsaugoti kodą ir grįžkite į darbalapį.

Čia atidarykite Peržiūrėti skirtukas>> iš Makrokomandos >> pasirinkti Peržiūrėti makrokomandas

Dabar, a dialogo langas pasirodys.

Dabar iš Makro pavadinimas pasirinkite Range_Find_Method taip pat pasirinkite darbalapį Makrokomandos .

Galiausiai, Paleisti pasirinktas Makro .

Taigi, bus rodomas pranešimo langas, kuriame bus nurodytas paskutinės eilutės numeris.

Išvada

Šiame straipsnyje paaiškinau 5 būdus, kaip VBA rasti paskutinę eilutę "Excel" programoje. Paskutinei eilutei rasti galite naudoti bet kurį iš metodų. Jei turite neaiškumų ar klausimų dėl šių metodų, galite komentuoti toliau.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.