Poslední řádek VBA | Nejlepší 3 způsoby, jak najít poslední použitý řádek?

Ve VBA, když musíme najít poslední řádek, existuje mnoho různých metod a nejběžněji používanou metodou je metoda End (XLDown) a existují i ​​jiné metody, například najít poslední hodnotu pomocí funkce find ve VBA, End (XLDown) ). Řádek je nejjednodušší způsob, jak se dostat do poslední řady.

Poslední řádek aplikace Excel VBA

Pokud je psaní kódu prvním pokrokem, který jste udělali ve VBA, pak je pro vás dalším krokem vytvoření dynamického kódu. Excel je plný odkazů na buňky, v okamžiku, kdy odkazujeme na buňku, se opraví. Pokud se naše data zvýší, musíme se vrátit k odkazu na buňku a změnit odkazy, aby byl výsledek aktuální.

Například se podívejte na níže uvedený kód.

Kód:

 Sub Last_Row_Example1 () Range ("D2"). Value = WorksheetFunction.Sum (Range ("B2: B7")) End Sub 

Výše uvedený kód říká, že v buňce D2 by hodnota měla být součtem Range („B2: B7“).

Nyní přidám do seznamu další hodnoty.

Nyní, když spustím kód, nedojde mi k výsledku aktualizace, ale stále se drží starého rozsahu, tj. Range („B2: B7“).

Zde je velmi důležitý dynamický kód.

V procesu vytváření dynamického kódu je velmi důležité najít poslední použitý řádek ve sloupci. V tomto článku probereme způsoby, jak najít poslední řádek v aplikaci Excel VBA.

Jak najít poslední použitý řádek ve sloupci?

Níže jsou uvedeny příklady k vyhledání posledního použitého řádku v aplikaci Excel VBA.

Tuto šablonu VBA poslední řady si můžete stáhnout zde - Šablona VBA poslední řady

Metoda č. 1

Než vám vysvětlím kód, chci, abyste si pamatovali, jak přejdete na poslední řádek v normálním listu.

Použijeme klávesovou zkratku Ctrl + šipka dolů.

Dostane nás na poslední použitý řádek před prázdnou buňkou. Stejnou metodu použijeme i ve VBA, abychom našli poslední řádek.

Krok 1: Definujte proměnnou jako DLOUHOU.

Kód:

 Sub Last_Row_Example2 () Dim LR As Long 'Pro pochopení LR = Last Row End Sub 

Krok 2: Pro tuto proměnnou přiřadíme naposledy použité číslo řádku.

Kód:

 Sub Last_Row_Example2 () Dim LR As Long 'Pro porozumění LR = Poslední řádek LR = Konec Sub 

Krok 3: Napište kód jako CELLS (Rows.Count,

Kód:

 Sub Last_Row_Example2 () Dim LR As Long 'Pro porozumění LR = Poslední řádek LR = Buňky (Rows.Count, End Sub 

Krok 4: Nyní uveďte číslo sloupce jako 1.

Kód:

 Sub Last_Row_Example2 () Dim LR As Long 'Pro porozumění LR = Poslední řádek LR = Buňky (Rows.Count, 1) End Sub 

CELLS (Rows.Count, 1) means to count how many lines are there in the first column.

Výše uvedený kód VBA nás tedy přenese na poslední řádek listu aplikace Excel.

Krok 5: Pokud jsme v poslední buňce listu a přejdeme na poslední použitý řádek, stiskneme klávesovou zkratku jako Ctrl + šipka nahoru .

Ve VBA musíme použít koncový klíč a nahoru, tj. End VBA xlUp

Kód:

 Sub Last_Row_Example2 () Dim LR As Long 'Pro porozumění LR = poslední řádek LR = buňky (Rows.Count, 1). End (xlUp) End Sub 

Krok 6: Nyní se dostaneme k poslední použité řadě zdola. Nyní potřebujeme číslo řádku. Použijte tedy vlastnost ROW k získání čísla řádku.

Kód:

 Sub Last_Row_Example2 () Dim LR As Long 'Pro pochopení LR = poslední řádek LR = buňky (Rows.Count, 1). End (xlUp) .Row End Sub 

Krok 7: Nyní proměnná obsahuje číslo posledního použitého řádku. Ukažte hodnotu této proměnné v okně zprávy v kódu VBA.

Kód:

 Sub Last_Row_Example2 () Dim LR As Long 'Pro pochopení LR = poslední řádek LR = buňky (Rows.Count, 1). End (xlUp) .Row MsgBox LR End Sub 

Spusťte tento kód pomocí klávesy F5 nebo ručně, zobrazí se poslední použitý řádek.

Výstup:

Poslední použitý řádek v tomto listu je 13.

Nyní odstraním ještě jeden řádek a spustím kód a uvidím dynamiku kódu.

Dobře, nyní výsledek automaticky zabírá poslední řádek.

To je to, co je dynamický kód poslední řady VBA.

Jak jsem ukázal v předchozím příkladu, změňte číslo řádku z číselné hodnoty na LR.

Kód:

 Sub Last_Row_Example2 () Dim LR As Long 'Pro porozumění LR = poslední řádek LR = buňky (Rows.Count, 1). End (xlUp). Range Range ("D2"). Value = WorksheetFunction.Sum (Range ("B2: B "& LR)) End Sub 

Odstranil jsem B13 a přidal jsem název proměnné LR.

Nyní nezáleží na tom, kolik řádků přidáte, automaticky převezme aktualizovanou referenci.

Metoda č. 2

Můžeme také najít poslední řádek ve VBA pomocí objektu Range a speciální vlastnosti buněk VBA.

Kód:

 Sub Last_Row_Example3 () Dim LR As Long LR = Range ("A: A"). SpecialCells (xlCellTypeLastCell) .Row MsgBox LR End Sub 

Tento kód vám také poskytne poslední použitý řádek. Podívejte se například na níže uvedený obrázek listu.

Pokud spustím kód ručně nebo pomocí klíče F5, výsledek bude 12, protože 12 je poslední použitý řádek.

Výstup:

Nyní odstraním 12. řádek a uvidím výsledek.

I když jsem odstranil jeden řádek, stále zobrazuje výsledek jako 12.

Aby tento kód fungoval, musíme po každé akci stisknout tlačítko Uložit, poté tento kód vrátí přesné výsledky.

Uložil jsem sešit a nyní vidím výsledek.

Metoda č. 3

V použitém rozsahu můžeme najít poslední řádek VBA. Níže uvedený kód také vrací poslední použitý řádek.

Kód:

 Sub Last_Row_Example4 () Dim LR As Long LR = ActiveSheet.UsedRange.Rows (ActiveSheet.UsedRange.Rows.Count) .Row MsgBox LR End Sub 

Tím se také vrátí poslední použitý řádek.

Výstup: