Automatické vyplňování vzorce do posledního řádku pomocí Excel VBA (5 příkladů)

  • Sdílet Toto
Hugh West

Pokud již nějakou dobu pracujete s programem Microsoft Excel, znáte význam funkce Automatické vyplňování. Abychom mohli vzorec zkopírovat přes celý řádek nebo sloupec, používáme tuto metodu. Nyní ji můžeme použít ručně pomocí myši. Pokud však máte velký řádek s daty, bude obtížné zkopírovat jakýkoli vzorec do posledního řádku nebo sloupce. Pro automatické vyplnění vzorce do posledního řádku nebo sloupce můžete použít kód VBA s příkazemsnadnost.

V tomto výukovém kurzu se naučíte automaticky vyplnit vzorec do posledního řádku v aplikaci Excel pomocí kódů VBA. Tento výukový kurz bude na místě s vhodnými příklady a správnými ilustracemi. Zůstaňte tedy s námi.

Stáhnout cvičebnici

Vzorec pro automatické vyplnění posledního řádku.xlsm

Co je automatické vyplňování v aplikaci Excel?

Nyní je automatické vyplňování vestavěnou funkcí aplikace Microsoft Excel, která umožňuje uživatelům automaticky vyplnit zbytek řádků nebo sloupců hodnotami, formáty nebo vzorci. Identifikovat ji můžete, když přesunete kurzor do pravého dolního rohu libovolné buňky. Nazýváme ji obsluha automatického vyplňování aplikace Excel.

Podívejte se na následující snímek obrazovky:

Zde vidíte dvě čísla. Zbytek řádků vyplníme pomocí automatického vyplňování v aplikaci Excel.

Nejprve vyberte rozsah buněk B5:B6. Poté se v pravém dolním rohu zobrazí úchyt automatického vyplňování.

Nyní přetáhněte tento úchyt automatického vyplňování dolů.

Jak vidíte, Excel automaticky vyplnil zbytek buněk. Toto je základní použití automatického vyplňování v Excelu.

Jak používat automatické vyplňování pomocí aplikace Excel VBA

Pokud máte v daném rozsahu velký počet řádků nebo sloupců, musíte úchyt automatického vyplňování přetáhnout dolů na poslední řádek nebo sloupec. Je to velmi hektický proces. Naštěstí jej můžete minimalizovat pomocí kódů VBA v aplikaci Excel. Pomocí kódu VBA můžete buňky automaticky vyplňovat hodnotami, vzorci nebo formáty.

Obecná syntaxe:

Range.AutoFill Cíl, Typ

Zde,

Range("B5"): Buňka, která má hlavní vzor pro vyplnění zbytku řady.

Cílová destinace: Rozsah buněk, které chcete vyplnit řadou vzorů.

Typ jako xlAutoFillType: Typ automatického vyplnění řady. Existují různé typy automatického vyplnění, které můžete zvolit.

Přečtěte si více: Jak používat automatické vyplňování VBA v aplikaci Excel

4 typy automatického vyplňování v aplikaci Excel VBA

V této části se budu zabývat některými typy automatického vyplňování. Již jsme viděli, že si můžeme vybrat libovolný typ automatického vyplňování pomocí příkazu xlAutoFillType. Zde vám ukážu několik příkladů.

1. xlFillDefault

Tento typ automatického vyplňování jsme již viděli v předchozím příkladu.

Podívejte se na snímek obrazovky:

Zadejte následující kód VBA pro automatické vyplnění ostatních buněk:

 Sub xlDefault_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillDefault End Sub 

Nyní spusťte makro VBA a poté se zobrazí následující:

Zbytek buněk se automaticky vyplní pomocí makra VBA.

2. xlFillCopy

Pro kopírování stejných hodnot můžete použít typ xlFillCopy v typu automatického vyplňování.

Podívejte se na snímek obrazovky:

Zadejte následující kód VBA pro automatické vyplnění ostatních buněk:

 Sub xlFillCopy_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillCopy End Sub 

Nyní spusťte makro VBA a poté se zobrazí následující:

Excel vyplní zbytek buněk stejným vzorem hodnot.

3. xlFillMonths

Měsíce můžete vyplnit také pomocí xlFillMonths typ automatického vyplňování.

Podívejte se na snímek obrazovky:

Zde jsme zadali dva měsíce leden a únor.

Zadejte následující kód VBA pro automatické vyplnění ostatních buněk:

 Sub xlFillMonths_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillMonths End Sub 

Nyní spusťte makro VBA a poté se zobrazí následující:

Excel automaticky rozumí vzorům a vyplňuje je.

4. xlFillFormats

Pomocí automatického vyplňování VBA můžete také kopírovat formáty do jiných buněk. K tomu musíte použít příkaz xlFillFormats typ automatického vyplňování.

Podívejte se na snímek obrazovky:

Zde jsme obě buňky vyplnili několika barvami.

Nyní zadejte následující kód VBA pro automatické vyplnění zbytku buněk:

 Sub xlFillFormats_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillFormats End Sub 

Nyní spusťte makro VBA a poté se zobrazí následující:

Jak vidíte, naše makro VBA využívá automatické vyplňování k efektivnímu vyplnění řádků sloupce B.

Přečtěte si více: Jak automaticky vyplnit měsíce v aplikaci Excel

5 příkladů s automatickým vyplňováním vzorce do posledního řádku v aplikaci Excel VBA

1. VBA pro automatické vyplnění vzorce na poslední použitý řádek

Podobně můžete pomocí VBA automaticky vyplnit vzorec. pokud jste si přečetli předchozí části, můžete to snadno provést. Problém nastane, když máte vzorec automaticky vyplnit do posledního řádku. Nejprve musíte identifikovat poslední použitý řádek. Poté je kód VBA automaticky vyplní.

Podívejte se na následující soubor dat:

Zde máme datovou sadu prodejů některých prodejců. Naším cílem je doplnit prodeje za leden a únor do sloupce Celkem. Poté použijeme metodu automatického doplňování pomocí VBA na poslední použitý řádek v Excelu.

Chcete-li tuto funkci provést, zadejte následující kód:

 Sub last_used_row() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Destination:=Range("E5:E" & last_row) End Sub 

last_row = Cells(Rows.Count, 2).End(xlUp).Row: Vrátí poslední použitý řádek ze sloupce B. Můžete si vybrat libovolný sloupec z vašeho souboru dat.

Range("E5").Formula = "=SUM(C5:D5)": Přidáváme tržby z Buňka C5 a D5.

Range("E5").AutoFill Cíl:=Range("E5:E" & last_row): Po získání výsledku použijeme automatické vyplňování. Spustí se automatické vyplňování od Buňka E5 na poslední použitý řádek, který jsme získali dříve.

Nyní spusťte makro VBA. Poté se zobrazí následující výstup:

Jak vidíte, náš kód VBA přidá první výsledek a automaticky vyplní vzorec do posledního řádku v aplikaci Excel.

Přečtěte si více: Jak vyplnit poslední řádek daty v aplikaci Excel

2. Automatické vyplňování VBA z ActiveCell na poslední řádek

Pokud nyní nechcete použít konkrétní rozsah v metodě automatického vyplňování, můžete použít hodnoty, vzorce nebo formáty aktivní buňky. Když kliknete na buňku a chcete automaticky vyplnit zbytek řádků vzorcem aktivní buňky, použijte tuto metodu.

Je to podobné jako u předchozího příkladu. Používáme předchozí soubor dat:

Nyní doplníme tržby za leden a únor a do posledního řádku automaticky doplníme vzorec pomocí nástroje Excel VBA.

Nyní zadejte následující kód:

 Sub autofill_active_cell() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row ActiveCell.Formula = "=SUM(C5:D5)" ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & ":E" & last_row) End Sub 

last_row = Cells(Rows.Count, 2).End(xlUp).Row: Vrátí poslední použitý řádek ze sloupce B. Můžete si vybrat libovolný sloupec z vašeho souboru dat.

ActiveCell.Formula = "=SUM(C5:D5)": Přidáváme tržby z Buňka C5 a D5 ve vybrané buňce.

ActiveCell.AutoFill Cíl:=Range(ActiveCell.Address & ":E" & last_row): Po získání výsledku použijeme automatické vyplňování. Začne se automaticky vyplňovat od aktivní buňky až po poslední použitý řádek, který jsme získali dříve.

Nyní vyberte Buňka E5 .

Poté spusťte makro VBA, které přidá vzorec a automatické vyplňování do posledního řádku.

Jak vidíte, úspěšně jsme použili makro VBA k automatickému vyplnění vzorce na poslední řádek.

Podobná čtení

  • Jak opakovat řádky v aplikaci Excel určitý početkrát (4 způsoby)
  • Automatické číslování řádků v aplikaci Excel (8 metod)
  • Jak vyplnit sloupec v aplikaci Excel stejnou hodnotou (9 triků)
  • Použití zkratky automatického vyplňování v aplikaci Excel (7 metod)

3. Automatické vyplnění posledního řádku pomocí dynamického rozsahu pomocí aplikace Excel VBA

Dříve jsme si ukázali několik maker VBA pro automatické doplňování na poslední řádek v Excelu. V těchto příkladech jsme již použili dynamické rozsahy.

Pro pochopení statických rozsahů se podívejte na následující kód:

 Sub last_used_row() Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Destination:=Range("E5:E11") End Sub 

V podstatě jsme programu Excel řekli, aby zadal vzorec do pole Buňka E5 a automatické vyplňování z Buňka E5 na Buňka E11 . Zde jsme zadali rozsah. Co když přidáte další řádky? V takovém případě náš VBA tyto další řádky automaticky nevyplní, protože jsme mu již řekli, aby automaticky vyplnil konkrétní rozsah.

Pro vyřešení tohoto problému jsem přišel s řešením, které dokáže pojmout dynamický rozsah:

 Sub last_used_row() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Destination:=Range("E5:E" & last_row) End Sub 

Jak vidíte, pomocí tohoto řádku kódu nejprve najdeme poslední řádek:

 last_row = Cells(Rows.Count, 2).End(xlUp).Row 

Poté automaticky doplníme poslední řádek pomocí dynamického rozsahu:

 Range("E5").AutoFill Cíl:=Range("E5:E" & last_row) 

Bez ohledu na to, kolik řádků do datové sady přidáte, tento kód VBA je úspěšně identifikuje. A automaticky je doplní vzorcem.

Dynamický rozsah v podstatě znamená, že nemusíte rozsah zadávat ručně. Excel jej čas od času aktualizuje.

Přečtěte si více: Excel VBA: Metoda automatického vyplňování třídy Range selhala

4. Automatické vyplňování posledního sloupce v aplikaci Excel pomocí VBA

Pokud jste si přečetli předchozí části k automatickému vyplnění na poslední řádek, pak můžete snadno provést automatické vyplnění na poslední sloupec. Stačí najít číslo posledního sloupce a automaticky jej vyplnit pomocí Excel VBA.

Podívejte se na následující soubor dat:

Zde máme datovou sadu, která představuje tříměsíční rozpočet osoby. Nyní sečteme výdaje všech měsíců a pomocí Excel VBA automaticky vyplníme vzorec do posledního sloupce.

Nyní zadejte následující kód:

 Sub last_used_column() Dim last_row As Long last_column = Cells(6, Columns.Count).End(xlToLeft).Column Range("D9").Formula = "=SUM(D6:D8)" Range("D9").AutoFill Destination:=Range("D9", Cells(9, last_column)) End Sub 

last_column = Cells(6, Columns.Count).End(xlToLeft).Column: Vrátí poslední použitý sloupec z řádku 6. Pro začátek můžete vybrat libovolný řádek z vašeho souboru dat.

Range("D9").Formula = "=SUM(D6:D8)": Připočítáme výdaje na tři měsíce (leden, únor, březen).

Range("D9").AutoFill Cíl:=Range("D9", Cells(9, last_column)): Po získání výsledku použijeme automatické vyplňování. Zde je naším hlavním řádkem řádek číslo 9. Všechna naše data budou v tomto řádku. Začne se automaticky vyplňovat od sloupce D do posledního použitého sloupce, který jsme dříve získali pomocí příkazu last_column .

Po spuštění makra se zobrazí následující výstup:

Jak vidíte, úspěšně jsme použili VBA k automatickému vyplnění vzorce do posledního sloupce v aplikaci Excel.

Přečtěte si více: Jak automaticky vyplnit sloupec v aplikaci Excel

5. Automatické doplňování pořadových čísel do posledního řádku v aplikaci Excel pomocí VBA

Pomocí automatického vyplňování ve VBA můžete také automaticky vyplňovat pořadová čísla. Zde musíte použít následující příkaz xlFillSeries v typu automatického vyplňování. Excel porozumí vzoru a vyplní je jím.

Podívejte se na následující snímek obrazovky:

Zde máme několik jmen. A chceme jim postupně přidělit ID. K tomu použijeme automatické vyplňování VBA.

Automatické vyplňování pořadových čísel se statickým rozsahem:

 Sub sequential_number_2() Range("C5").AutoFill Destination:=Range("C5:C11"), Type:=xlFillSeries End Sub 

Po spuštění kódu se zobrazí výstup:

Pokud chcete použít dynamický rozsah, použijte následující kód:

 Sub sequential_number_1() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row Range("C5").AutoFill Destination:=Range("C5:C" & last_row), Type:=xlFillSeries End Sub 

last_row = Cells(Rows.Count, 2).End(xlUp).Row: Vrátí poslední použitý řádek ze sloupce B.

Range("C5").AutoFill Cíl:=Range("C5:C" & last_row), Typ:=xlFillSeries: Převezme ID Buňka C5 a automatické vyplňování na poslední použitý řádek ve sloupci C pomocí xlFillSeries ,

V obou případech získáte stejný výstup:

Jak vidíte, kód VBA jsme úspěšně použili k automatickému vyplňování pořadových čísel v aplikaci Excel.

Přečtěte si více: Vzorce aplikace Excel pro vyplnění pořadových čísel Vynechat skryté řádky

💬 Co si zapamatovat

Můžete zastavit automatické vyplňování různými způsoby, pokud nechcete. .

Nelze automaticky vyplnit více řádků a sloupců současně. Vyplňujte je postupně.

Závěr

Závěrem doufám, že vám tento návod poskytl kus užitečných znalostí k automatickému vyplňování vzorce do posledního řádku pomocí kódů VBA. Doporučujeme vám naučit se všechny tyto pokyny a aplikovat je na váš datový soubor. Stáhněte si cvičný sešit a vyzkoušejte si je sami. Neváhejte nám také poskytnout zpětnou vazbu v sekci komentářů. Vaše cenná zpětná vazba nás motivuje k vytváření návodů, jako je např.toto.

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!

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.