Automatické vyplnenie vzorca do posledného riadku pomocou Excel VBA (5 príkladov)

  • Zdieľajte To
Hugh West

Ak už nejaký čas pracujete s programom Microsoft Excel, poznáte význam funkcie AutoFill. Na skopírovanie vzorca cez riadok alebo stĺpec používame túto metódu. Teraz ju môžeme použiť ručne pomocou myši. Ak však máte veľký riadok s údajmi, bude ťažké skopírovať akýkoľvek vzorec do posledného riadku alebo stĺpca. Na automatické vyplnenie vzorca do posledného riadku alebo stĺpca môžete použiť kód VBA sjednoduchosť.

V tomto návode sa naučíte automaticky vyplniť vzorec do posledného riadku v programe Excel pomocou kódov VBA. Tento návod bude na mieste s vhodnými príkladmi a správnymi ilustráciami. Tak zostaňte s nami.

Stiahnite si cvičebnicu

Vzorec na automatické vyplnenie posledného riadku.xlsm

Čo je automatické vypĺňanie v programe Excel?

Automatické vypĺňanie je vstavaná funkcia programu Microsoft Excel, ktorá používateľom umožňuje automaticky vyplniť zvyšok riadkov alebo stĺpcov hodnotami, formátmi alebo vzorcami. Môžete ho identifikovať, keď presuniete kurzor do pravého dolného rohu ľubovoľnej bunky. Nazývame ho obsluha automatického vypĺňania programu Excel.

Pozrite sa na nasledujúcu snímku obrazovky:

Tu vidíte dve čísla. Zvyšné riadky vyplníme pomocou automatického vypĺňania v programe Excel.

Najprv vyberte rozsah buniek B5:B6. Potom sa v pravom dolnom rohu zobrazí rukoväť automatického vypĺňania.

Teraz potiahnite tento úchyt automatického vypĺňania nadol.

Ako vidíte, Excel automaticky vyplnil zvyšné bunky. Toto je základné použitie automatického vypĺňania v programe Excel.

Ako používať automatické vypĺňanie pomocou programu Excel VBA

Ak máte v danom rozsahu veľký počet riadkov alebo stĺpcov, musíte úchyt automatického vypĺňania pretiahnuť až na posledný riadok alebo stĺpec. Je to veľmi hektický proces. Našťastie ho môžete minimalizovať pomocou kódov VBA v programe Excel. Pomocou kódu VBA môžete automaticky vypĺňať bunky hodnotami, vzorcami alebo formátmi.

Generická syntax:

Range.AutoFill Cieľ, Typ

Tu,

Range("B5"): Bunka, ktorá má hlavný vzor na vyplnenie zvyšku série.

Cieľová destinácia: Rozsah buniek, ktoré chcete vyplniť sériou vzorov.

Typ ako xlAutoFillType: Typ automatického vypĺňania série. Existujú rôzne typy automatického vypĺňania, ktoré si môžete vybrať.

Prečítajte si viac: Ako používať automatické vypĺňanie VBA v programe Excel

4 typy automatického vypĺňania v programe Excel VBA

V tejto časti sa budem venovať niektorým typom automatického vypĺňania. Už sme videli, že si môžeme vybrať akýkoľvek typ automatického vypĺňania pomocou xlAutoFillType. Tu vám ukážem niekoľko príkladov.

1. xlFillDefault

Tento typ automatického vypĺňania sme už videli v predchádzajúcom príklade.

Pozrite sa na snímku obrazovky:

Na automatické vyplnenie zvyšných buniek zadajte nasledujúci kód VBA:

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

Teraz spustite makro VBA a potom sa zobrazí nasledujúca správa:

Zvyšné bunky sa automaticky vyplnia pomocou makra VBA.

2. xlFillCopy

Ak chcete skopírovať rovnaké hodnoty, môžete použiť typ xlFillCopy v type automatického vypĺňania.

Pozrite sa na snímku obrazovky:

Na automatické vyplnenie zvyšných buniek zadajte nasledujúci kód VBA:

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

Teraz spustite makro VBA a potom sa zobrazí nasledujúca správa:

Excel vyplní zvyšné bunky rovnakým vzorom hodnôt.

3. xlFillMonths

Mesiace môžete vyplniť aj pomocou xlFillMonths typ automatického vypĺňania.

Pozrite sa na snímku obrazovky:

Tu sme vstúpili do dvoch mesiacov január a február.

Na automatické vyplnenie zvyšných buniek zadajte nasledujúci kód VBA:

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

Teraz spustite makro VBA a potom sa zobrazí nasledujúca správa:

Excel automaticky pochopí vzory a vyplní ich.

4. xlFillFormats

Formáty môžete kopírovať aj do iných buniek pomocou automatického vypĺňania VBA. Na tento účel musíte použiť príkaz xlFillFormats typ automatického vypĺňania.

Pozrite sa na snímku obrazovky:

Tu sme vyplnili dve bunky niekoľkými farbami.

Teraz zadajte nasledujúci kód VBA na automatické vyplnenie zvyšných buniek:

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

Teraz spustite makro VBA a potom sa zobrazí nasledujúca správa:

Ako vidíte, naše makro VBA využíva automatické vypĺňanie na efektívne vyplnenie riadkov stĺpca B.

Prečítajte si viac: Ako automaticky vyplniť mesiace v programe Excel

5 príkladov so vzorcom automatického vyplnenia posledného riadku v programe Excel VBA

1. VBA na automatické vyplnenie vzorca na posledný použitý riadok

Podobne môžete pomocou VBA automaticky vyplniť vzorec. ak ste si prečítali predchádzajúce časti, môžete to ľahko vykonať. Problém nastáva, keď máte vzorec automaticky vyplniť do posledného riadku. Najskôr musíte identifikovať posledný použitý riadok. Potom ich kód VBA automaticky vyplní.

Pozrite sa na nasledujúci súbor údajov:

Tu máme súbor údajov o predaji niektorých predajcov. Naším cieľom je pridať predaj za január a február do stĺpca Celkom. Potom použijeme metódu automatického dopĺňania pomocou VBA na posledný použitý riadok v programe Excel.

Ak to chcete vykonať, zadajte nasledujúci 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áti posledný použitý riadok zo stĺpca B. Môžete si vybrať ľubovoľný stĺpec z vášho súboru údajov.

Range("E5").Formula = "=SUM(C5:D5)": Pripočítame predaj Bunka C5 a D5.

Range("E5").AutoFill Destination:=Range("E5:E" & last_row): Po získaní výsledku použijeme automatické vypĺňanie. Bunka E5 na posledný použitý riadok, ktorý sme získali predtým.

Teraz spustite makro VBA. Potom sa zobrazí nasledujúci výstup:

Ako vidíte, náš kód VBA pridá prvý výsledok a automaticky vyplní vzorec do posledného riadku programu Excel.

Prečítajte si viac: Ako vyplniť posledný riadok údajmi v programe Excel

2. Automatické vypĺňanie VBA z ActiveCell do posledného riadku

Ak teraz nechcete použiť konkrétny rozsah v metóde automatického vypĺňania, môžete použiť hodnoty, vzorce alebo formáty aktívnej bunky. Keď kliknete na bunku a chcete automaticky vyplniť zvyšok riadkov vzorcom aktívnej bunky, použite túto metódu.

Je to podobné ako v predchádzajúcom príklade. Používame predchádzajúci súbor údajov:

Teraz pridáme tržby za január a február a automaticky vyplníme vzorec do posledného riadku pomocou Excel VBA.

Teraz zadajte nasledujúci 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áti posledný použitý riadok zo stĺpca B. Môžete si vybrať ľubovoľný stĺpec z vášho súboru údajov.

ActiveCell.Formula = "=SUM(C5:D5)": Pripočítame predaj Bunka C5 a D5 vo vybranej bunke.

ActiveCell.AutoFill Cieľ:=Range(ActiveCell.Address & ":E" & last_row): Po získaní výsledku použijeme automatické vypĺňanie. Začne sa automaticky vypĺňať od aktívnej bunky po posledný použitý riadok, ktorý sme získali predtým.

Teraz vyberte Bunka E5 .

Potom spustite makro VBA na pridanie vzorca a automatického vypĺňania do posledného riadku.

Ako vidíte, úspešne sme použili makro VBA na automatické vyplnenie vzorca do posledného riadku.

Podobné čítania

  • Ako opakovať riadky v programe Excel určitý počet krát (4 spôsoby)
  • Automatické číslovanie riadkov v programe Excel (8 metód)
  • Ako vyplniť stĺpec v programe Excel rovnakou hodnotou (9 trikov)
  • Použitie skratky automatického vypĺňania v programe Excel (7 metód)

3. Automatické vypĺňanie na posledný riadok pomocou dynamického rozsahu s programom Excel VBA

Predtým sme si ukázali niekoľko makier VBA na automatické vyplnenie posledného riadku v programe Excel. V týchto príkladoch sme už použili dynamické rozsahy.

Ak chcete pochopiť statické rozsahy, pozrite si nasledujúci kód:

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

V podstate sme programu Excel povedali, aby zadal vzorec do Bunka E5 a automaticky ho vyplniť z Bunka E5 na Bunka E11 . Tu sme zadali rozsah. Čo ak pridáte ďalšie riadky? V takom prípade náš VBA tieto ďalšie riadky automaticky nevyplní, pretože sme mu už povedali, aby automaticky vyplnil konkrétny rozsah.

Na vyriešenie tohto problému som prišiel s riešením, ktoré dokáže prijať 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 

Ako vidíte, najprv nájdeme posledný riadok pomocou tohto riadku kódu:

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

Potom automaticky vyplníme posledný riadok pomocou dynamického rozsahu:

 Range("E5").AutoFill Destination:=Range("E5:E" & last_row) 

Bez ohľadu na to, koľko riadkov pridáte do súboru údajov, tento kód VBA ich úspešne identifikuje. A automaticky ich vyplní vzorcom.

Dynamický rozsah v podstate znamená, že nemusíte zadávať rozsah ručne. Excel ho z času na čas aktualizuje.

Prečítajte si viac: Excel VBA: Metóda automatického vypĺňania triedy rozsahu zlyhala

4. Automatické vypĺňanie do posledného stĺpca v programe Excel pomocou VBA

Ak ste si prečítali predchádzajúce časti o automatickom vypĺňaní na posledný riadok, potom môžete ľahko automaticky vypĺňať na posledný stĺpec. Musíte len nájsť číslo posledného stĺpca a automaticky ho vyplniť pomocou Excel VBA.

Pozrite sa na nasledujúci súbor údajov:

Tu máme súbor údajov, ktorý predstavuje 3-mesačný rozpočet osoby. Teraz sčítame výdavky všetkých mesiacov a automaticky vyplníme vzorec do posledného stĺpca pomocou Excel VBA.

Teraz zadajte nasledujúci 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áti posledný použitý stĺpec z riadku 6. Môžete si vybrať ľubovoľný riadok, ktorým chcete začať z vášho súboru údajov.

Range("D9").Formula = "=SUM(D6:D8)": Pripočítame výdavky na tri mesiace (január, február, marec).

Range("D9").AutoFill Destination:=Range("D9", Cells(9, last_column)): Po získaní výsledku použijeme automatické vypĺňanie. Tu je naším hlavným riadkom riadok číslo 9. Všetky naše údaje budú v tomto riadku. Začne sa automaticky vypĺňať od stĺpca D do posledného použitého stĺpca, ktorý sme predtým získali pomocou last_column .

Po spustení makra sa zobrazí nasledujúci výstup:

Ako vidíte, úspešne sme použili VBA na automatické vyplnenie vzorca do posledného stĺpca v programe Excel.

Prečítajte si viac: Ako automaticky vyplniť stĺpec v programe Excel

5. Automatické vypĺňanie postupných čísel do posledného riadku v programe Excel pomocou VBA

Pomocou automatického vypĺňania vo VBA môžete tiež automaticky vypĺňať postupné čísla. Tu musíte použiť xlFillSeries v type automatického vypĺňania. Excel porozumie vzoru a vyplní ich.

Pozrite sa na nasledujúci obrázok:

Tu máme niekoľko mien. A chceme im postupne prideliť ID. Na to použijeme automatické vypĺňanie VBA.

Automatické vyplňovanie sekvenčných čísel so statickým rozsahom:

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

Po spustení kódu sa zobrazí výstup:

Ak chcete použiť dynamický rozsah, použite nasledujúci 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áti posledný použitý riadok zo stĺpca B.

Range("C5").AutoFill Destination:=Range("C5:C" & last_row), Type:=xlFillSeries: Prevezme ID Bunka C5 a automatické vyplnenie posledného použitého riadku v stĺpci C pomocou xlFillSeries ,

V oboch prípadoch dostanete rovnaký výstup:

Ako vidíte, kód VBA sme úspešne použili na automatické vypĺňanie postupných čísel v programe Excel.

Prečítajte si viac: Vzorce programu Excel na vyplnenie poradových čísel Vynechanie skrytých riadkov

💬 Čo si treba zapamätať

Môžete zastaviť automatické vypĺňanie rôznymi spôsobmi, ak to nechcete. .

Nemôžete automaticky vyplniť viacero riadkov a stĺpcov súčasne. Vykonajte to postupne.

Záver

Na záver dúfam, že vám tento návod poskytol kus užitočných vedomostí na automatické vyplnenie vzorca do posledného riadku pomocou kódov VBA. Odporúčame vám naučiť sa a aplikovať všetky tieto pokyny na váš súbor údajov. Stiahnite si cvičný zošit a vyskúšajte si ich sami. Neváhajte nám tiež poskytnúť spätnú väzbu v sekcii komentárov. Vaša cenná spätná väzba nás motivuje k vytváraniu návodov, ako je napr.toto.

Nezabudnite si pozrieť našu webovú stránku Exceldemy.com pre rôzne problémy a riešenia súvisiace s programom Excel.

Učte sa nové metódy a neustále sa rozvíjajte!

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.