Vyhledání posledního řádku v aplikaci Excel pomocí VBA (5 způsobů)

  • Sdílet Toto
Hugh West

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

Způ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.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.