VBA Poslední řádek - Jak najít poslední použitý řádek v Excelu pomocí kódu VBA?

Obsah:

Anonim

Excel VBA Poslední řádek

Nalezení posledního řádku ve sloupci je důležitým aspektem při psaní maker a jejich dynamice. Protože bychom raději aktualizovali rozsahy buněk každou chvíli, když pracujeme s odkazy na buňky Excel. Jako programátor / vývojář byste vždy raději psali dynamický kód, který lze použít na libovolná data a postačuje vašemu požadavku. Navíc by vždy bylo skvělé, kdybyste měli o svých datech znát poslední řádek, abyste mohli dynamicky změnit kód podle vašich požadavků.

Poukážu pouze na jeden příklad, který opakuje význam dynamického kódu.

Předpokládejme, že mám níže uvedené údaje se zaměstnanci a jejich platy.

A podívejte se na níže uvedený kód:

Kód:

 Dílčí příklad1 () Rozsah ("D2"). Hodnota = WorksheetFunction.Sum (Rozsah ("B2: B11")) End Sub 

Zde tento kód vytiskne součet platů pro všechny zaměstnance (buňka B2: B11 ) v buňce D2 . Viz obrázek níže:

Co když tedy do těchto dat přidám nějaké buňky a znovu spustím tento kód?

Logicky řečeno, výše uvedený kód nesčítá všech 14 řádků ze sloupce B. Důvodem je rozsah, který jsme aktualizovali v rámci WorksheetFunction (což je B2: B11). To je důvod, proč je pro nás důležitější dynamický kód, který může vzít v úvahu poslední vyplněný řádek.

V tomto článku představím některé metody, které mohou být užitečné při nalezení posledního řádku pro danou datovou sadu pomocí kódu VBA.

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

Níže jsou uvedeny různé příklady s různými metodami, jak najít poslední použitý řádek sloupce v Excelu pomocí kódu VBA.

Tuto šablonu VBA Last Row Excel si můžete stáhnout zde - VBA Last Row Excel Template

Příklad č. 1 - Použití metody Range.End ()

Tato metoda je stejná jako použití Ctrl + šipka dolů v Excelu k přechodu na poslední neprázdný řádek. Na podobných řádcích postupujte podle níže uvedených kroků pro vytvoření kódu ve VBA, abyste dosáhli na poslední neprázdný řádek sloupce v aplikaci Excel.

Krok 1: Definujte proměnnou, která může převzít hodnotu pro poslední neprázdný řádek sloupce Excel.

Kód:

 Sub Příklad2 () Dim Last_Row As Long End Sub 

Proměnná Last_Row je zde definována jako DLOUHODNÁ, aby se zajistilo, že může vzít libovolný počet argumentů.

Krok 2: Pomocí definované proměnné držte hodnotu posledního neprázdného řádku.

Kód:

 Sub Příklad2 () Dim Last_Row As Long Last_Row = End Sub 

Krok 3: Zadejte kód začínající na CELLS (Rows.Count před Last_Row = .

Kód:

 Sub Příklad2 () Dim Last_Row As Long Last_Row = Buňky (Rows.Count End Sub 

Krok 4: Zmínka 1 za čárkou ve výše uvedeném kódu. Číselná hodnota 1 jsou synonyma k prvnímu sloupci v Excelu.

Kód:

 Sub Příklad2 () Dim Last_Row Tak dlouho Last_Row = Buňky (Rows.Count, 1) End Sub 

Tento kód umožňuje VBA zjistit celkový počet (prázdných + neprázdných) řádků přítomných v prvním sloupci excelového listu. To znamená, že tento kód umožňuje systému přejít do poslední buňky Excel.

Co když jste v poslední buňce excelu a chcete jít na poslední neprázdný řádek? Budete používat Ctrl + šipku nahoru, že?

Stejná logika, kterou použijeme v dalším řádku kódu.

Krok 5: Pomocí kombinace kláves Konec a xlUp přejděte na poslední neprázdný řádek v Excelu.

Kód:

 Sub Příklad2 () Dim Last_Row As Long Last_Row = Buňky (Rows.Count, 1) .End (xlUp) End Sub 

Tím se dostanete na poslední neprázdný řádek v Excelu. Chtěli jste však stejné číslo řádku.

Krok 6: Pomocí ROW získejte číslo řádku posledního neprázdného řádku.

Kód:

 Sub Příklad2 () Dim Last_Row As Long Last_Row = Buňky (Rows.Count, 1) .End (xlUp) .Row End Sub Sub 

Krok 7: Zobrazte hodnotu Last_Row, která obsahuje poslední neprázdné číslo řádku pomocí MsgBoxu.

Kód:

 Sub Příklad2 () Dim Last_Row As Long Last_Row = Buňky (Rows.Count, 1) .End (xlUp) .Row MsgBox Last_Row End Sub Sub 

Krok 8: Spusťte kód pomocí tlačítka Run nebo stiskem klávesy F5 a podívejte se na výstup.

Výstup:

Krok 9: Nyní odstraníme jeden řádek a uvidíme, jestli kód dává přesný výsledek nebo ne. Pomůže nám to zkontrolovat dynamiku našeho kódu.

Příklad č. 2 - Použití Range a SpecialCells

Můžeme také použít vlastnost Range a SepcialCells VBA k získání posledního neprázdného řádku listu Excel.

Pomocí následujícího postupu získáte poslední neprázdný řádek v Excelu pomocí kódu VBA:

Krok 1: Definujte proměnnou znovu jako Long.

Kód:

 Sub Příklad 3 () Dim Last_Row As Long End Sub 

Krok 2: Začněte ukládat hodnotu do proměnné Last_Row pomocí operátoru přiřazení.

Kód:

 Sub Příklad3 () Dim Last_Row As Long Last_Row = End Sub 

Krok 3: Spusťte rozsah psaní („A: A“) .

Kód:

 Sub Příklad3 () Dim Last_Row As Long Last_Row = Range ("A: A") End Sub 

Krok 4: Pomocí funkce SpecialCells vyhledejte poslední neprázdnou buňku.

Kód:

 Dílčí příklad 3 () Dim Last_Row As Long Last_Row = Range ("A: A"). SpecialCells (xlCellTypeLastCell) End Sub 

Tato funkce SpecialCells vybere poslední buňku z vašeho Excelu, jak je psáno v závorkách ( xlCellTypeLastCell umožňuje vybrat poslední neprázdnou buňku z vašeho Excelu).

Krok 5: Nyní pomocí ROW získejte poslední řádek ze svého Excel listu.

Kód:

 Sub Příklad 3 () Dim Last_Row As Long Last_Row = Range ("A: A"). SpecialCells (xlCellTypeLastCell) .Row End Sub Sub 

Tím se vám vrátí poslední neprázdný řádek z vašeho Excelu.

Krok 6: Nyní přiřaďte tuto hodnotu Last_Row MsgBoxu, abychom mohli vidět poslední neprázdné číslo řádku v okně zprávy.

Kód:

 Sub Příklad3 () Dim Last_Row As Long Last_Row = Range ("A: A"). SpecialCells (xlCellTypeLastCell) .Row MsgBox Last_Row End Sub Sub 

Krok 7: Spusťte kód stisknutím klávesy F5 nebo Spustit umístěné v horní části levého rohu.

Výstup:

Můžete vidět, že poslední neprázdné číslo buňky je vysunuto přes MsgBox s odkazem na sloupec A. Protože jsme při definování proměnné vzorce zmínili sloupec A pod funkcí Range.

Krok 8: Pokud odstraníme řádek a můžeme spustit tento vzorec. Pojďme se podívat, co se stane.

Můžete vidět, že systém stále přidělil počet řádků jako 14. I když jsem odstranil řádek a skutečný počet řádků je 13, systém počet řádků nezachytil přesně. Aby systém zachytil skutečný počet řádků, musíte list uložit a znovu spustit kód.

Na tomto snímku obrazovky se nyní zobrazuje skutečný počet řádků.

Příklad č. 3 - Použití Range.Find ()

Pomocí následujícího postupu získáte poslední neprázdný řádek v Excelu pomocí kódu VBA:

Krok 1: Definujte proměnnou tak dlouho.

Kód:

 Dílčí příklad4 () Dim Last_Row As Long End Sub 

Krok 2: Pomocí následujícího kódu zobrazíte poslední neprázdný řádek.

Kód:

 Sub Example4 () Dim Last_Row As Long Last_Row = Cells.Find (What: = "*", _ After: = Range ("A1"), _ LookAt: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Row End Sub 

Zde funkce FIND hledá první neprázdnou buňku. Hvězdička (*) je operátor zástupných znaků, který pomáhá při jejich vyhledávání.

Počínaje buňkou A1 se systém vrací zpět k poslední buňce z listu a hledá zpětným směrem (xlPrevious). Pohybuje se zprava doleva (xlByRows) a opakuje se ve stejném listu přes všechny řádky na podobných řádcích, dokud nenajde řádek, který není prázdný (viz .ROW na konci kódu).

Krok 3: Pomocí MsgBoxu uložte hodnotu posledního neprázdného řádku a zobrazte ji jako vyskakovací pole.

Kód:

 Sub Example4 () Dim Last_Row As Long Last_Row = Cells.Find (What: = "*", _ After: = Range ("A1"), _ LookAt: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Row MsgBox Last_Row End Sub Sub 

Krok 4: Spusťte kód a podívejte se na výstup jako vyskakovací okno obsahující poslední neprázdné číslo řádku.

Výstup:

Co si pamatovat

  • End (Příklad1) lze použít k nalezení první prázdné buňky / řádku nebo poslední neprázdné buňky / řádku v daném sloupci pomocí kódu VBA.
  • Konec pracuje většinou na jednom sloupci. Pokud máte data v rozsazích, bylo by obtížné rozhodnout, který sloupec by měl být použit k nalezení posledního neprázdného řádku.
  • Najít (Příklad 3) pracuje na celé škále od začátku a pomocí kódu VBA zjistí poslední neprázdnou buňku / řádek v daném sloupci. Může být také použit k nalezení posledního neprázdného sloupce.

Doporučené články

Toto je průvodce k poslední řadě VBA. Zde diskutujeme o tom, jak najít poslední použitý řádek v daném sloupci spolu s několika praktickými příklady a šablonou Excel ke stažení. Další informace naleznete také v následujících článcích -

  1. Jak používat VBA Vložit sloupec?
  2. Jak vybrat řádky a sloupce Excel?
  3. Přehled buněk VBA Range
  4. Jak přidat buňky v Excelu?