Paskutinės eilutės su duomenimis diapazone paieška naudojant "Excel" VBA makrokomandas (7 metodai)

  • Pasidalinti
Hugh West

Dirbant su "Microsoft Excel", paskutinių eilučių ar stulpelių paieška yra įprasta užduotis. Paskutinėms naudojamoms eilutėms ar stulpeliams surasti naudojame klaviatūrą. Tačiau gali būti, kad atsidursite situacijoje, kai reikės surasti paskutinę naudojamą eilutę iš sudėtingo duomenų rinkinio. Šioje pamokoje išmoksite surasti paskutinę eilutę su duomenimis diapazone naudodami "Excel" VBA, naudodami praktinius pavyzdžius ir tinkamas iliustracijas.

Atsisiųsti praktikos sąsiuvinį

Atsisiųskite šį praktikos sąsiuvinį.

Rasti paskutinę naudotą eilutę diapazone.xlsm

7 metodai, kaip rasti paskutinę eilutę su duomenimis diapazone naudojant "Excel" VBA makrokomandas

Ateinančiuose skyriuose pateiksime septynis metodus, kurie padės jums rasti paskutinę eilutę su duomenimis diapazone naudojant "Excel" VBA. Rekomenduojame išmokti ir taikyti visus šiuos metodus, kad praturtintumėte savo "Excel" žinias.

📕 Skaityti daugiau : Rasti paskutinį ląstelės langelį su reikšme eilutėje "Excel" (6 metodai)

Šiai pamokai demonstruoti naudosime šį duomenų rinkinį:

Čia turime duomenų rinkinį, kurį sudaro informacija apie kai kuriuos žaidėjus. Naudosime jį mokydami visų metodų.

Atidarykite VBA redaktorių

Prieš pradėdami, čia mes amžius duoti jums paprastą priminimą atidaryti VBA redaktorius Excel.

Pirmiausia paspauskite Alt+F11 klaviatūroje. Tada pasirinkite Insert> Modulis. Po to bus atidarytas "Excel" VBA redaktorius.

1. Range.End savybės naudojimas paskutinei eilutei su duomenimis diapazone rasti naudojant VBA

Dabar šiuo metodu iš esmės randama diapazono pabaiga. Daugiausia - paskutinio naudoto langelio diapazonas. Šiuo metodu galime rasti paskutinę eilutę su duomenimis tam tikrame diapazone. Naudodami VBA gausite norimus rezultatus.

📌 Žingsniai

Pirmiausia atidarykite VBA Redaktorius.

Tada įveskite šį kodą:

 Sub range_end_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = Range("B4").End(xlDown).Row MsgBox "Last used row: " & amp; LastRow End Sub 

Dabar išsaugokite failą. Tada paspauskite Alt+F8 kad atidarytumėte dialogo langą Makro. range_end_metod

Po to spustelėkite Paleisti.

Kaip matote, sėkmingai radome paskutinę eilutę su duomenimis diapazone naudodami "Excel" VBA.

2. "Excel" VBA savybė Range.Find

Dabar VBA naudojame metodą Range.Find, kad duomenų rinkinyje rastume tam tikrą reikšmę. Tačiau šis metodas praverčia norint rasti paskutinę eilutę su duomenimis diapazone. Jis veikia panašiai kaip "Excel" dialogo langas Find & amp; Replace. Range. Find metodas turi daug argumentų. Tačiau visų jų nenaudosime.

Prieš pradėdami naudoti metodą Range.Find, pateiksime trumpą informaciją:

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

:= "*" - Žvaigždutė yra simbolis, atrandantis bet kokį tekstą ar skaičių ląstelėje. Pirmiausia tai tas pats, kaip ieškoti ne tuščios ląstelės.

SearchOrder:=xlByRows - Tai reiškia, kad prieš pereinant prie kitos eilutės, reikia peržiūrėti visą eilutę. Ieškoma iš kairės į dešinę arba iš dešinės į kairę, priklausomai nuo argumento SearchDirection. Papildoma parinktis yra xlByColumns, kuri naudojama ieškant paskutinio stulpelio.

Paieškos kryptis:=xlPrevious - Tai lemia, kuria kryptimi ieškoti. xlPrevious reiškia, kad bus ieškoma iš dešinės į kairę arba iš apačios į viršų. Kita alternatyva yra xlNext, kuri pasislenka priešingu keliu.

📌 Žingsniai

Pirmiausia atidarykite VBA redaktorių.

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

Dabar išsaugokite failą. Paskui paspauskite Alt+F8, kad atidarytumėte dialogo langą Makro. range_find_method.

Po to spustelėkite Paleisti .

Galiausiai ji suras paskutinę eilutę su duomenimis mūsų "Excel" darbalapyje.

3. Funkcijos "SpecialCells" naudojimas paskutinei eilutei rasti naudojant VBA

Šis metodas veikia taip, kaip paspaudus Ctrl+End klaviatūroje. Kai klaviatūroje paspausite Ctrl + End, visada pereisite į paskutinę eilutę, kad ir kur būtumėte. Tačiau jei norite rasti paskutinę naudotą eilutę su duomenimis naudodami VBA kodus "Excel" programoje, šis kodas jums būtinas.

📌 Žingsniai

Pirmiausia atidarykite VBA redaktorių.

Tada įveskite šį kodą:

 Sub specialcells_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Cells.SpecialCells(xlCellTypeLastCell).Row MsgBox "Last used row: " & LastRow End Sub 

Dabar išsaugokite failą. Paskui paspauskite Alt+F8, kad atsidarytų dialogo langas "Macro". specialcells_method .

Po to spustelėkite Paleisti .

Kaip matote, mums pavyko rasti paskutinę eilutę su duomenimis naudojant "Excel" VBA.

4. Funkcijos UsedRange naudojimas siekiant rasti paskutinę eilutę su duomenimis diapazone

UsedRange VBA yra darbalapio savybė, grąžinanti diapazono objektą, nurodantį naudojamą diapazoną (visas Excel langelius, naudojamus arba įkeltus į darbalapį) konkrečiame darbalapyje. Tai savybė, reiškianti sritį, kurią apima arba nurodo viršutinės kairės panaudotos ląstelės ir paskutinės dešinės panaudotos ląstelės darbalapyje.

📌 Žingsniai

Pirmiausia atidarykite VBA redaktorių.

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

Dabar išsaugokite failą. Paskui paspauskite Alt+F8, kad atidarytumėte dialogo langą Makro. usedRange_method.

Po to spustelėkite Paleisti .

Galiausiai "Excel" sėkmingai pamatysite paskutinę naudotą darbalapio eilutę.

5. Lentelės diapazono naudojimas naudojant VBA programoje "Excel

Jei darbalapyje turite lentelę, šiuo metodu galite rasti paskutinę eilutę su duomenimis.

📌 Žingsniai

Pirmiausia atidarykite VBA redaktorių.

Tada įveskite šį kodą:

 Sub TableRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.ListObjects("Table1").Range.Rows.Count + 3 MsgBox "Last used row: " & amp; LastRow End Sub 

Pastaba : Čia pridedame 3 su paskutine eilute, nes mūsų duomenų rinkinys prasidėjo po 3 eilutės.

Dabar išsaugokite failą. Paskui paspauskite Alt+F8, kad atsidarytų dialogo langas "Macro". TableRange_method.

Po to spustelėkite Paleisti .

Kaip matote, sėkmingai panaudojome lentelės diapazono metodą VBA koduose, kad rastume paskutinę eilutę su "Excel" duomenimis.

6. Įvardyto diapazono naudojimas siekiant rasti paskutinę eilutę su duomenimis diapazone

Šis metodas nėra dažnai naudojamas "Excel" programoje. Tačiau manome, kad turėtumėte jį išmokti, kad praturtintumėte savo žinias.

Jei jūsų duomenų rinkinyje yra įvardytas intervalas, galite naudoti šį kodą. Pažvelkite į toliau pateiktą ekrano nuotrauką. Joje yra įvardytas intervalas.

📌 Žingsniai

Pirmiausia atidarykite VBA redaktorių.

Tada įveskite šį kodą:

 Sub nameRange_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("Named_Range").Rows.Count + 1 MsgBox "last used row: " & amp; LastRow End Sub 

Pastaba : Prie LastRow pridedame 1, nes mūsų diapazonas prasidėjo po 1 eilutės.

Dabar išsaugokite failą. Tada paspauskite Alt+F8 kad atidarytumėte dialogo langą Makro. nameRange_method.

Po to spustelėkite Paleisti.

Kaip matote, mums pavyko rasti paskutinę eilutę su duomenimis naudojant VBA.

7. "Excel" VBA funkcija CurrentRegion

Taip pat galite naudoti VBA metodą CurrentRegion, kad rastumėte paskutinę naudotą "Excel" eilutę. Nors tai sudėtinga, jei norite, galite tai panaudoti savo naudai.

📌 Žingsniai

Pirmiausia atidarykite VBA redaktorių.

Tada įveskite šį kodą:

 Sub CurrentRegion_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("B4").CurrentRegion.Rows.Count + 3 'pridėti skaičius pagal savo pasirinkimą' MsgBox "Last used row: " & LastRow End Sub 

Pastaba : Range turėtų būti pirmoji jūsų duomenų rinkinio ląstelė. Ir pagal savo pasirinkimą pridėkite eilučių numerį. Čia pridėjome 3, nes mūsų duomenų rinkinys prasidėjo po 3 eilutės.

Dabar išsaugokite failą. Paskui paspauskite Alt+F8, kad atidarytumėte dialogo langą Makro. CurrentRegion_metod

Po to spustelėkite Paleisti.

Kaip matote, naudodami VBA kodą sėkmingai radome paskutinę eilutę su duomenimis.

💬 Dalykai, kuriuos verta prisiminti

Range.End veikia tik vienoje eilutėje arba stulpelyje. Jei duomenų rinkinyje yra daug tuščių langelių, bus sunku rasti paskutinę eilutę su duomenimis.

Kartais, kad kodas veiktų sklandžiai, į savo metodus turite pridėti tam tikras reikšmes. Norėdami rasti paskutinę ląstelę, pridėjome eilučių numerius. Taigi turite prisiminti, nuo kurios vietos prasidėjo jūsų duomenų rinkinys.

Išvada

Baigdamas tikiuosi, kad ši mokomoji knyga suteikė jums naudingų žinių, kaip rasti paskutinę eilutę su duomenimis diapazone naudojant "Excel" VBA. Rekomenduojame išmokti ir taikyti visus šiuos nurodymus savo duomenų rinkiniui. Atsisiųskite pratybų sąsiuvinį ir išbandykite juos patys. Taip pat nedvejodami pateikite atsiliepimus komentarų skiltyje. Jūsų vertingi atsiliepimai skatina mus kurti tokias mokomąsias knygas kaip ši.

Nepamirškite patikrinti mūsų svetainės Exceldemy.com įvairių su "Excel" susijusių problemų ir sprendimų.

Nuolat mokykitės naujų metodų ir tobulėkite!

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ą.