Vyhľadanie posledného riadku s údajmi v rozsahu pomocou makier Excel VBA (7 metód)

  • Zdieľajte To
Hugh West

Pri práci s programom Microsoft Excel je vyhľadávanie posledných riadkov alebo stĺpcov bežnou úlohou. Na vyhľadávanie posledných použitých riadkov alebo stĺpcov používame klávesnicu. Možno sa však ocitnete v situácii, keď potrebujete nájsť posledný použitý riadok zo zložitého súboru údajov. V tomto návode sa naučíte nájsť posledný riadok s údajmi v rozsahu pomocou VBA v programe Excel s praktickými príkladmi a vhodnými ilustráciami.

Stiahnite si cvičebnicu

Stiahnite si tento cvičebnicu.

Nájsť posledný použitý riadok v rozsahu.xlsm

7 metód na vyhľadanie posledného riadku s údajmi v rozsahu pomocou makier Excel VBA

V nasledujúcich častiach vám poskytneme sedem metód, ktoré vám pomôžu nájsť posledný riadok s údajmi v rozsahu pomocou VBA v programe Excel. Odporúčame vám naučiť sa a použiť všetky tieto metódy, aby ste obohatili svoje znalosti programu Excel.

📕 Čítajte viac : Vyhľadanie poslednej bunky s hodnotou v riadku v programe Excel (6 metód)

Na demonštráciu tohto návodu použijeme tento súbor údajov:

Tu máme súbor údajov pozostávajúci z informácií o niektorých hráčoch. Použijeme ho na to, aby sme vás naučili všetky metódy.

Otvorenie editora VBA

Predtým, ako začneme, vám tu jednoducho pripomenieme otvorenie editora VBA v programe Excel.

Najprv stlačte Alt+F11 na klávesnici. Potom vyberte Insert> Modul. Potom sa otvorí editor VBA programu Excel.

1. Použitie vlastnosti Range.End na vyhľadanie posledného riadku s údajmi v rozsahu pomocou VBA

Táto metóda teraz v podstate nájde koniec rozsahu. Hlavne posledný použitý rozsah buniek. Túto metódu môžeme použiť na nájdenie posledného riadku s údajmi v danom rozsahu. Pomocou VBA získate požadované výsledky.

📌 Kroky

Najprv otvorte VBA Redaktor.

Potom zadajte nasledujúci kód:

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

Teraz súbor uložte. Potom stlačte Alt+F8 otvoriť dialógové okno Makro. range_end_method

Potom kliknite na Spustiť.

Ako vidíte, úspešne sme našli posledný riadok s údajmi v rozsahu pomocou VBA v programe Excel.

2. Vlastnosť Range.Find aplikácie VBA v programe Excel

Teraz vo VBA používame metódu Range. Find na hľadanie konkrétnej hodnoty z množiny údajov. Táto metóda sa však hodí na nájdenie posledného riadku s údajmi v rozsahu. Funguje podobne ako dialógové okno Find & Replace programu Excel. Metóda Range. Find má veľa argumentov. My ich však všetky nepoužijeme.

Skôr ako použijeme metódu Range.Find, poskytneme vám krátku informáciu:

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

Čo := "*" - Hviezdička je zástupný znak, ktorý objaví akýkoľvek text alebo číslo v bunke. Je to predovšetkým to isté ako skúmanie pre neprázdnu bunku.

SearchOrder:=xlByRows - To znamená Nájsť, aby sa prekopal každý celý riadok, než sa prejde na ďalší. V závislosti od argumentu SearchDirection sa hľadá smerom zľava doprava alebo sprava doľava. Ďalšou možnosťou je tu xlByColumns, ktorá sa využíva pri hľadaní posledného stĺpca.

SearchDirection:=xlPrevious - Toto určuje, ktorým smerom sa bude prehľadávať. xlPrevious znamená, že sa bude prehľadávať sprava doľava alebo zdola nahor. Druhou alternatívou je xlNext, ktorá sa posúva v opačnom smere.

📌 Kroky

Najprv otvorte editor VBA.

Potom zadajte nasledujúci kód:

 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 

Teraz súbor uložte. Potom stlačením klávesovej skratky Alt+F8 otvorte dialógové okno Makro. range_find_method.

Potom kliknite na Spustiť .

Nakoniec nájde posledný riadok s údajmi v našom hárku programu Excel.

3. Použitie funkcie SpecialCells na vyhľadanie posledného riadku pomocou VBA

Táto metóda funguje ako stlačenie Ctrl+End na klávesnici. Keď na klávesnici stlačíte klávesovú skratku Ctrl+End, vždy sa dostanete na posledný riadok bez ohľadu na to, kde sa nachádzate. Ak však chcete nájsť posledný použitý riadok s údajmi pomocou kódov VBA v programe Excel, tento kód je pre vás nevyhnutnosťou.

📌 Kroky

Najprv otvorte editor VBA.

Potom zadajte nasledujúci kód:

 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 

Teraz súbor uložte. Potom stlačením klávesovej skratky Alt+F8 otvorte dialógové okno Makro. specialcells_method .

Potom kliknite na Spustiť .

Ako vidíte, pomocou VBA v programe Excel sa nám podarilo nájsť posledný riadok s údajmi.

4. Použitie funkcie UsedRange na vyhľadanie posledného riadku s údajmi v rozsahu

UsedRange vo VBA je vlastnosť pracovného hárka, ktorá vracia objekt rozsahu predstavujúci použitý rozsah (všetky použité alebo načítané bunky programu Excel v pracovnom hárku) na konkrétnom pracovnom hárku. Je to vlastnosť, ktorá znamená oblasť pokrytú alebo určenú hornými ľavými použitými bunkami a poslednými pravými použitými bunkami v pracovnom hárku.

📌 Kroky

Najprv otvorte editor VBA.

Potom zadajte nasledujúci kód:

 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 

Teraz súbor uložte. Potom stlačením klávesovej skratky Alt+F8 otvorte dialógové okno Makro. usedRange_method.

Potom kliknite na Spustiť .

Nakoniec úspešne zobrazíte posledný použitý riadok na pracovnom hárku v programe Excel.

5. Používanie rozsahu tabuliek pomocou VBA v programe Excel

Ak máte v pracovnom hárku tabuľku, môžete pomocou tejto metódy nájsť posledný riadok s údajmi.

📌 Kroky

Najprv otvorte editor VBA.

Potom zadajte nasledujúci kód:

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

Poznámka : Tu pridávame 3 s posledným riadkom, pretože náš súbor údajov začal po riadku 3.

Teraz súbor uložte. Potom stlačením klávesovej skratky Alt+F8 otvorte dialógové okno Makro. TableRange_method.

Potom kliknite na Spustiť .

Ako vidíte, úspešne sme použili metódu rozsahu tabuľky v kódoch VBA na vyhľadanie posledného riadku s údajmi v programe Excel.

6. Použitie pomenovaného rozsahu na vyhľadanie posledného riadku s údajmi v rozsahu

Táto metóda sa v programe Excel bežne nepoužíva. Myslíme si však, že by ste sa ju mali naučiť, aby ste si obohatili svoje vedomosti.

Ak má váš súbor údajov pomenovaný rozsah, môžete použiť tento kód. Pozrite sa na nasledujúcu snímku obrazovky. Je v nej pomenovaný rozsah.

📌 Kroky

Najprv otvorte editor VBA.

Potom zadajte nasledujúci kód:

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

Poznámka : K LastRow pridávame 1, pretože náš rozsah začal za riadkom 1.

Teraz súbor uložte. Potom stlačte Alt+F8 otvoriť dialógové okno Makro. nameRange_method.

Potom kliknite na Spustiť.

Ako vidíte, pomocou VBA sa nám podarilo nájsť posledný riadok s údajmi.

7. Funkcia CurrentRegion programu VBA v programe Excel

Na zistenie naposledy použitého riadku v programe Excel môžete použiť aj metódu CurrentRegion v programe VBA. Hoci je to zložité, ak chcete, môžete to využiť vo svoj prospech.

📌 Kroky

Najprv otvorte editor VBA.

Potom zadajte nasledujúci kód:

 Sub CurrentRegion_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("B4").CurrentRegion.Rows.Count + 3 'pridať čísla podľa vášho výberu' MsgBox "Last used row: " & LastRow End Sub 

Poznámka : Range by mala byť prvá bunka vášho súboru údajov. A pridajte číslo riadkov podľa vášho výberu. Tu sme pridali 3, pretože náš súbor údajov začal po riadku 3.

Teraz súbor uložte. Potom stlačením klávesovej skratky Alt+F8 otvorte dialógové okno Makro. CurrentRegion_method

Potom kliknite na Spustiť.

Ako vidíte, pomocou kódu VBA sme úspešne našli posledný riadok s údajmi.

💬 Čo si treba zapamätať

Funkcia Range.End funguje len pre jeden riadok alebo stĺpec. Ak váš súbor údajov obsahuje veľa prázdnych buniek, bude ťažké nájsť posledný riadok s údajmi.

Niekedy musíte do svojich metód pridať niektoré hodnoty, aby kód prebehol bez problémov. Pridali sme čísla riadkov, aby sme našli poslednú bunku. Musíte si teda pamätať, odkiaľ váš súbor údajov začal.

Záver

Na záver dúfam, že tento návod vám poskytol kus užitočných vedomostí na nájdenie posledného riadku s údajmi v rozsahu pomocou VBA v programe Excel. Odporúčame vám naučiť sa a aplikovať všetky tieto pokyny na váš súbor údajov. Stiahnite si cvičný zošit a vyskúšajte ich sami. Neváhajte tiež poskytnúť spätnú väzbu v časti s komentármi. Vaša cenná spätná väzba nás motivuje k vytváraniu takýchto návodov.

Nezabudnite si pozrieť našu webovú stránku Exceldemy.com pre rôzne problémy a riešenia súvisiace s programom Excel.

Učte sa nové metódy a neustále sa rozvíjajte!

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.