Obsah
Při práci s programem Microsoft Excel je vyhledání posledních řádků nebo sloupců běžnou úlohou. K vyhledání posledních použitých řádků nebo sloupců používáme klávesnici. Můžete se však dostat do situace, kdy potřebujete najít poslední použitý řádek ze složitého souboru dat. V tomto kurzu se naučíte najít poslední řádek s daty v rozsahu pomocí VBA v aplikaci Excel s praktickými příklady a vhodnými ilustracemi.
Stáhnout cvičebnici
Stáhněte si tento cvičební sešit.
Vyhledání posledního použitého řádku v rozsahu.xlsm7 metod vyhledání posledního řádku s daty v rozsahu pomocí maker Excel VBA
V následujících kapitolách vám nabídneme sedm metod, které vám pomohou najít poslední řádek s daty v rozsahu pomocí VBA v aplikaci Excel. Doporučujeme vám naučit se všechny tyto metody a použít je, abyste obohatili své znalosti aplikace Excel.
📕 Přečtěte si více : Hledání poslední buňky s hodnotou v řádku v aplikaci Excel (6 metod)
Pro demonstraci tohoto tutoriálu použijeme tuto sadu dat:
Zde máme k dispozici soubor dat, který se skládá z informací o některých hráčích. Na jeho základě vás naučíme všechny metody.
Otevření editoru VBA
Než začneme, zde vám jednoduše připomeneme, jak otevřít editor VBA v aplikaci Excel.
Nejprve stiskněte Alt+F11 na klávesnici. Poté vyberte Insert> Modul. Poté se otevře editor VBA aplikace Excel.
1. Použití vlastnosti Range.End k vyhledání posledního řádku s daty v rozsahu pomocí VBA
Nyní tato metoda v podstatě vyhledá konec rozsahu. Hlavně poslední použitý rozsah buněk. Pomocí této metody můžeme najít poslední řádek s daty v daném rozsahu. Použitím VBA získáme požadované výsledky.
📌 Kroky
① Nejprve otevřete VBA Redaktor.
② Poté zadejte následující 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
③ Nyní soubor uložte. Poté stiskněte Alt+F8 a otevřete dialogové okno Makro. range_end_method
④ Poté klikněte na tlačítko Spustit.
Jak vidíte, pomocí VBA v aplikaci Excel jsme úspěšně našli poslední řádek s daty v rozsahu.
2. Vlastnost Range.Find jazyka VBA v aplikaci Excel
Nyní ve VBA používáme metodu Range. Find k vyhledání konkrétní hodnoty z datového souboru. Tato metoda se však hodí k vyhledání posledního řádku s daty v rozsahu. Funguje podobně jako dialogové okno Najít & Nahradit v Excelu. Metoda Range. Find má mnoho argumentů, ale my je všechny nevyužijeme.
Než použijeme metodu Range.Find, uveďme si stručnou informaci:
Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious)
Co := "*" - Hvězdička je zástupný znak, který v buňce objeví libovolný text nebo číslo. Je to především totéž jako zkoumání neprázdné buňky.
SearchOrder:=xlByRows - To znamená Najít projít celý každý řádek, než se přejde na další. Směr hledání je zleva doprava nebo zprava doleva v závislosti na argumentu SearchDirection. Další možností je zde xlByColumns, která se využívá při hledání posledního sloupce.
SearchDirection:=xlPrevious - To určuje, kterým směrem se bude hledat. xlPrevious znamená, že se bude hledat zprava doleva nebo zdola nahoru. Druhou alternativou je xlNext, která se posouvá v opačném směru.
📌 Kroky
① Nejprve otevřete Editor VBA.
② Poté zadejte následující 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
③ Nyní soubor uložte. Poté stisknutím klávesové zkratky Alt+F8 otevřete dialogové okno Makro. range_find_method.
④ Poté klikněte na Spustit .
Nakonec najde poslední řádek s daty v našem listu aplikace Excel.
3. Použití funkce SpecialCells k vyhledání posledního řádku pomocí VBA
Tato metoda funguje jako stisknutí Ctrl+End na klávesnici. Když na klávesnici stisknete kombinaci kláves Ctrl+End, vždy se dostanete na poslední řádek bez ohledu na to, kde se nacházíte. Pokud však chcete v Excelu pomocí kódů VBA najít poslední použitý řádek s daty, je pro vás tento kód nezbytností.
📌 Kroky
① Nejprve otevřete Editor VBA.
② Poté zadejte následující 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
③ Nyní soubor uložte. Poté stisknutím klávesové zkratky Alt+F8 otevřete dialogové okno Makro. specialcells_method .
④ Poté klikněte na Spustit .
Jak vidíte, pomocí VBA v aplikaci Excel se nám podařilo najít poslední řádek s daty.
4. Použití funkce UsedRange k nalezení posledního řádku s daty v rozsahu
UsedRange ve VBA je vlastnost pracovního listu, která vrací objekt rozsahu představující použitý rozsah (všechny použité nebo načtené buňky aplikace Excel v pracovním listu) na konkrétním pracovním listu. Jedná se o vlastnost, která znamená oblast pokrytou nebo určenou levými horními použitými buňkami a posledními pravými použitými buňkami v pracovním listu.
📌 Kroky
① Nejprve otevřete Editor VBA.
② Poté zadejte následující 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
③ Nyní soubor uložte. Poté stisknutím klávesové zkratky Alt+F8 otevřete dialogové okno Makro. usedRange_method.
④ Poté klikněte na Spustit .
Nakonec se v aplikaci Excel úspěšně zobrazí poslední použitý řádek na pracovním listu.
5. Použití rozsahu tabulky pomocí VBA v aplikaci Excel
Pokud máte v pracovním listu tabulku, můžete touto metodou najít poslední řádek s daty.
📌 Kroky
① Nejprve otevřete Editor VBA.
② Poté zadejte následující 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 : Zde přidáváme 3 s posledním řádkem, protože náš soubor dat začal za řádkem 3.
③ Nyní soubor uložte. Poté stisknutím klávesové zkratky Alt+F8 otevřete dialogové okno Makro. TableRange_method.
④ Poté klikněte na Spustit .
Jak vidíte, úspěšně jsme použili metodu rozsahu tabulky v kódech VBA k nalezení posledního řádku s daty v aplikaci Excel.
6. Použití pojmenovaného rozsahu pro vyhledání posledního řádku s daty v rozsahu
Tato metoda se v Excelu běžně nepoužívá. Myslíme si však, že byste se ji měli naučit, abyste obohatili své znalosti.
Pokud má vaše datová sada pojmenovaný rozsah, můžete použít tento kód. Podívejte se na následující snímek obrazovky. Je v něm pojmenovaný rozsah.
📌 Kroky
① Nejprve otevřete Editor VBA.
② Poté zadejte následující 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 přidáváme 1, protože náš rozsah začal za řádkem 1.
③ Nyní soubor uložte. Poté stiskněte Alt+F8 a otevřete dialogové okno Makro. nameRange_method.
④ Poté klikněte na tlačítko Spustit.
Jak vidíte, pomocí VBA se nám podařilo najít poslední řádek s daty.
7. Funkce CurrentRegion aplikace VBA v aplikaci Excel
K vyhledání naposledy použitého řádku v aplikaci Excel můžete také použít metodu CurrentRegion v prostředí VBA. I když je to složité, můžete to využít ve svůj prospěch, pokud chcete.
📌 Kroky
① Nejprve otevřete Editor VBA.
② Poté zadejte následující kód:
Sub CurrentRegion_method() Dim sht As Worksheet Dim LastRow As Long Set sht = ActiveSheet LastRow = sht.Range("B4").CurrentRegion.Rows.Count + 3 'přidejte čísla podle svého výběru' MsgBox "Last used row: " & LastRow End Sub
Poznámka : Range by měla být první buňka vašeho datasetu. A přidejte číslo řádku podle vaší volby. Zde jsme přidali 3, protože náš dataset začal za řádkem 3.
③ Nyní soubor uložte. Poté stisknutím klávesové zkratky Alt+F8 otevřete dialogové okno Makro. CurrentRegion_method
④ Poté klikněte na tlačítko Spustit.
Jak vidíte, pomocí kódu VBA jsme úspěšně našli poslední řádek s daty.
💬 Co si zapamatovat
✎ Range.End funguje pouze pro jeden řádek nebo sloupec. Pokud váš datový soubor obsahuje mnoho prázdných buněk, bude obtížné najít poslední řádek s daty.
✎ Někdy musíte do svých metod přidat některé hodnoty, aby kód běžel hladce. My jsme přidali čísla řádků, abychom našli poslední buňku. Musíte si tedy pamatovat, odkud váš datový soubor začínal.
Závěr
Závěrem doufám, že vám tento návod poskytl kus užitečných znalostí k vyhledání posledního řádku s daty v rozsahu pomocí VBA v aplikaci Excel. Doporučujeme vám naučit se všechny tyto pokyny a aplikovat je na váš soubor dat. Stáhněte si cvičný sešit a vyzkoušejte si je sami. Neváhejte také poskytnout zpětnou vazbu v sekci komentářů. Vaše cenná zpětná vazba nás motivuje k vytváření podobných návodů.
Nezapomeňte se podívat na naše webové stránky Exceldemy.com pro různé problémy a řešení související s aplikací Excel.
Učte se novým metodám a neustále se rozvíjejte!