Obsah
Ve VBA můžete použít různé metody pro nalezení posledního řádku. V tomto článku vysvětlím různé metody VBA pro nalezení posledního řádku v Excelu.
Abych toto vysvětlení zviditelnil, použiji ukázkový soubor dat. V souboru dat jsou 4 sloupce představující informace o prodeji. Těmito sloupci jsou Prodejce, region, produkt, a Cena .
Stáhnout To Practice
VBA Najít poslední řádek.xlsmZpůsoby vyhledání posledního řádku v aplikaci Excel pomocí VBA
1. Použití funkce SpecialCells k nalezení posledního řádku
Můžete použít SpecialCells metoda pro vyhledání posledního řádku pomocí VBA .
Nejprve otevřete Vývojář karta>> pak vyberte Visual Basic
Nové okno Microsoft Visual Basic pro aplikace se objeví.
Nyní od Vložte >> vybrat Modul
A Modul bude otevřena.
Pak napište následující kód do Modul .
Sub LastRow_SpecialCells() Dim LastRow As Long LastRow = Range("A:A").SpecialCells(xlCellTypeLastCell).Row MsgBox LastRow End Sub
Zde jsem vytvořil dílčí proceduru s názvem LastRow_SpecialCells , kde a Long typ proměnné LastRow byla vyhlášena.
Poté definujte proměnnou pomocí Range.SpecialCells Zde jsem použil sloupec A ( A:A ) jako rozsah. xlCellTypeLastCell jako parametr typu SpecialCells , vrátí poslední buňku rozsahu (v tomto případě ze sloupce A ).
K zobrazení výsledku jsem použil okno se zprávou.
Poté, Uložit kód a vraťte se na pracovní list.
Opět otevřete Zobrazit karta>> od Makra >> vybrat Zobrazit makra
Pak a dialogové okno se objeví.
Nyní z Název makra vybrat LastRow_SpecialCells vyberte také sešit v rámci Makra v .
Nakonec, Spustit vybrané Makro .
Zobrazí se tedy okno se zprávou, ve které je uvedeno číslo posledního řádku.
2. Použití Rows.Count pro neprázdné buňky
Můžete použít Rows.Count metoda pro vyhledání posledního řádku pomocí VBA .
Nyní otevřete Vývojář karta>> pak vyberte Visual Basic
Nové okno Microsoft Visual Basic pro aplikace se objeví.
Nyní od Vložte >> vybrat Modul
A Modul bude otevřena.
Pak napište následující kód do Modul .
Sub LastRow_NonEmpty() Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row MsgBox LastRow End Sub
Zde jsem vytvořil dílčí proceduru s názvem LastRow_NonEmpty, kde a Long typ proměnné LastRow byla vyhlášena.
Nyní, CELLS(Rows.Count, 1) spočítá, kolik řádků je v prvním sloupci. Poté se použije End(xlUp).Row nyní vyhledá poslední použitý řádek v rozsahu aplikace Excel.
Nakonec jsem použil okno se zprávou pro zobrazení výsledku.
Pak, Uložit kód a vraťte se na pracovní list.
Zde otevřete Zobrazit karta>> od Makra >> vybrat Zobrazit makra
Nyní je dialogové okno se objeví.
Pak z Název makra vybrat LastRow_NonEmpty vyberte také sešit v rámci Makra v .
Nakonec, Spustit vybrané Makro .
Zobrazí se tedy okno zprávy s číslem posledního řádku.
3. Použití Rows.Count pro libovolný vybraný sloupec
Pomocí libovolného vybraného sloupce v VBA, najdete poslední řádek.
Nejprve otevřete Vývojář karta>> pak vyberte Visual Basic
Nové okno Microsoft Visual Basic pro aplikace se objeví.
Nyní od Vložte >> vybrat Modul
A Modul bude otevřena.
Pak napište následující kód do Modul .
Sub LastRow_AnyColumn() Dim LastRow As Long LastRow = Range("B" & Rows.Count).End(xlUp).Row MsgBox LastRow End Sub
Zde jsem vytvořil dílčí proceduru s názvem LastRow_AnyColumn, kde je a Long typ proměnné LastRow byla vyhlášena.
Pak v Rozsah vzhledem ke sloupci B jako parametr a také Rows.Count , který spočítá, kolik řádků je v daném sloupci. B . další, použité End(xlup). Řádek který vyhledá poslední použitý řádek v rozsahu aplikace Excel.
Jako poslední jsem použil okno se zprávou pro zobrazení výsledku.
Další, Uložit kód a vraťte se na pracovní list.
Pak otevřete Zobrazit karta>> od Makra >> vybrat Zobrazit makra
Zde je dialogové okno se objeví.
Nyní z Název makra vybrat LastRow_AnyColumn vyberte také sešit v rámci Makra v .
Nakonec, Spustit vybrané Makro .
Zobrazí se tedy okno zprávy s číslem posledního řádku.
Podobné čtení:
- Hledání ve sloupci v aplikaci Excel pomocí VBA (7 přístupů)
- Hledání a nahrazování pomocí VBA (11 způsobů)
- Hledání přesné shody pomocí VBA v aplikaci Excel (5 způsobů)
- Jak najít řetězec pomocí VBA v aplikaci Excel (8 příkladů)
4. Použití UsedRange k nalezení posledního řádku
Můžete použít UsedRange vlastnosti pracovního listu pro vyhledání posledního řádku pomocí VBA .
Nyní otevřete Vývojář karta>> pak vyberte Visual Basic
Poté se zobrazí nové okno Microsoft Visual Basic pro aplikace se objeví.
Nyní od Vložte >> vybrat Modul
A Modul bude otevřena.
Poté napište následující kód do Modul .
Sub LastRow_UsedRange() Dim LastRow As Long LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row MsgBox "Last Row: " & LastRow End Sub
Zde jsem vytvořil dílčí proceduru s názvem LastRow_UsedRange, kde a Long typ proměnné LastRow byla vyhlášena.
Dále definujte proměnnou pomocí příkazu ActiveSheet.UsedRange.Rows metoda také poskytla ActiveSheet.UsedRange.Rows.Count jako parametr ActiveSheet.UsedRange.Rows , vrátí se poslední řádek.
K zobrazení výsledku jsem použil okno se zprávou.
Nyní, Uložit kód a vraťte se na pracovní list.
Pak otevřete Zobrazit karta>> od Makra >> vybrat Zobrazit makra
Dále pak dialogové okno se objeví.
Pak z Název makra vybrat LastRow_UsedRange vyberte také sešit v rámci Makra v .
Nakonec, Spustit vybrané Makro .
Zobrazí se tedy okno se zprávou, ve které je uvedeno číslo posledního řádku.
5. Použití funkce Range.Find k nalezení posledního řádku
Můžete použít Range.Find metoda pro vyhledání posledního řádku pomocí VBA .
Nyní otevřete Vývojář karta>> pak vyberte Visual Basic
Zde se otevře nové okno Microsoft Visual Basic pro aplikace se objeví.
Nyní od Vložte >> vybrat Modul
A Modul bude otevřena.
Pak napište následující kód do 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 "Last Row: " & LastRow End Sub
Zde jsem vytvořil dílčí proceduru s názvem Range_Find_Method, kde je a Long typ proměnné LastRow byla vyhlášena.
Poté definujte proměnnou pomocí Cells.Find zde deklarováno 7 parametrů. Co jsem použil parametr ("*"), který najde první neprázdnou buňku. vzhledem k tomu, že A1 jako rozsah v Po parametr pro spuštění. LookAt poskytnutý parametr xlČást zobrazit libovolnou část textu uvnitř buňky.
LookIn:=xlFormulas parametr vyhledá vzorce, pokud existují. SearchOrder:=xlByRows parametr se bude pohybovat zprava doleva a také procházet smyčkou každý řádek, dokud nenajde neprázdnou buňku.
MatchCase:=False parametr sdělí Najít nebere v úvahu velká a malá písmena. Když najde jiné než prázdné písmeno, zastaví se a vrátí číslo řádku.
K zobrazení výsledku jsem použil okno se zprávou.
Nyní, Uložit kód a vraťte se na pracovní list.
Zde otevřete Zobrazit karta>> od Makra >> vybrat Zobrazit makra
Nyní je dialogové okno se objeví.
Nyní z Název makra vybrat Range_Find_Method vyberte také pracovní list v rámci Makra v .
Nakonec, Spustit vybrané Makro .
Zobrazí se tedy okno zprávy s číslem posledního řádku.
Závěr
V tomto článku jsem vysvětlil 5 způsobů, jak. VBA vyhledat poslední řádek v aplikaci Excel. Můžete použít některou z metod pro vyhledání posledního řádku. V případě, že máte nejasnosti nebo otázky týkající se těchto metod, můžete je komentovat níže.