Automatsko popunjavanje formule do zadnjeg retka s Excel VBA (5 primjera)

  • Podijeli Ovo
Hugh West

Ako neko vrijeme radite s Microsoft Excelom, znate važnost automatskog popunjavanja. Kako bismo kopirali formulu preko reda ili stupca, koristimo ovu metodu. Sada ovo možemo koristiti ručno pomoću miša. No, ako imate veliki redak s podacima, bit će teško kopirati bilo koju formulu u zadnji redak ili stupac. Možete koristiti VBA kod za automatsko popunjavanje formule do zadnjeg retka ili stupca s lakoćom.

U ovom ćete vodiču naučiti kako automatski popuniti formulu do posljednjeg retka u Excelu pomoću VBA kodova. Ovaj vodič bit će točan s prikladnim primjerima i odgovarajućim ilustracijama. Dakle, ostanite s nama.

Preuzmite vježbenicu

Automatsko popunjavanje formule do zadnjeg retka.xlsm

Što je automatsko popunjavanje Excel?

Sada je automatsko popunjavanje ugrađena značajka programa Microsoft Excel koja korisnicima omogućuje automatsko popunjavanje ostatka redaka ili stupaca vrijednostima, formatima ili formulama. Možete ga identificirati kada postavite pokazivač u donji desni kut bilo koje ćelije. Mi to zovemo rukovatelj automatskim popunjavanjem programa Excel.

Pogledajte sljedeću sliku zaslona:

Ovdje možete vidjeti dva broja. Ispunit ćemo ostale retke pomoću automatskog popunjavanja u Excelu.

Prvo odaberite raspon ćelija B5:B6. Nakon toga vidjet ćete ručicu za automatsko popunjavanje u donjem desnom kutu.

Sada povucite ovu ručicu za automatsko popunjavanje prema dolje.

Kao što vidite, Excel je automatski ispunioostatak stanica. Ovo je osnovna upotreba automatskog popunjavanja u Excelu.

Kako koristiti automatsko popunjavanje s Excel VBA

Ako imate veliki broj redaka ili stupaca u danom rasponu, morate povući prema dolje ručicu za automatsko popunjavanje do posljednjeg retka ili stupca. To je vrlo naporan proces. Srećom, možete ga minimizirati pomoću VBA kodova u Excelu. Možete koristiti VBA kôd za automatsko popunjavanje ćelija vrijednostima, formulama ili formatima.

Generička sintaksa:

Raspon .AutoFill Destination, Tip

Ovdje,

Raspon (“B5”): Ćelija koja ima glavni uzorak za popunjavanje ostatka niza.

Odredište: Raspon ćelija koje želite ispuniti nizom uzoraka.

Tipajte kao xlAutoFillType: Vrsta ispune serije. Postoje različite vrste automatskog popunjavanja koje možete odabrati.

Pročitajte više: Kako koristiti VBA automatsko popunjavanje u Excelu

4 vrste automatskog popunjavanja u Excelu VBA

U ovom odjeljku raspravljat ću o nekim vrstama automatskog popunjavanja. Već smo vidjeli da možemo odabrati bilo koju vrstu automatskog popunjavanja pomoću xlAutoFillType. Ovdje vam pokazujem neke primjere toga.

1. xlFillDefault

Već smo vidjeli ovu vrstu automatskog popunjavanja u prethodnom primjeru.

Pogledajte snimak zaslona:

Upišite sljedeći VBA kod za automatsko popunjavanje ostalih ćelija:

6810

Sada pokrenite VBA makronaredbu i nakon toga ćete vidjetisljedeće:

Automatski popunjava ostatak ćelija pomoću VBA makronaredbe.

2. xlFillCopy

Za kopiranje istih vrijednosti možete koristiti tip xlFillCopy u tipu automatskog popunjavanja.

Pogledajte snimak zaslona:

Upišite sljedeći VBA kod za automatsko popunjavanje ostatka ćelija:

6326

Sada pokrenite VBA makronaredbu i nakon toga ćete vidjeti sljedeće:

Excel ispunjava ostatak ćelija istim uzorkom vrijednosti.

3. xlFillMonths

Možete ispuniti i mjesece pomoću vrste automatskog popunjavanja xlFillMonths .

Pogledajte snimak zaslona:

Ovdje smo unijeli dva mjeseca siječanj i veljaču.

Upišite sljedeći VBA kod za automatsko popunjavanje ostalih ćelija:

6019

Sada pokrenite VBA makro i nakon vidjet ćete sljedeće:

Excel automatski razumije uzorke i ispunjava ih njima.

4. xlFillFormats

Također možete kopirati formate u druge ćelije pomoću VBA automatskog popunjavanja. Za to morate koristiti xlFillFormats vrstu automatskog popunjavanja.

Pogledajte snimak zaslona:

Ovdje imamo ispunio dvije ćelije nekim bojama.

Sada upišite sljedeći VBA kod za automatsko popunjavanje ostalih ćelija:

3079

Sada pokrenite VBA makronaredbu i nakon toga ćete vidjeti sljedeće:

Kao što vidite, naša VBA makronaredba koristi automatsko popunjavanje zaučinkovito ispunite retke stupca B.

Pročitajte više: Kako automatski popuniti mjesece u Excelu

5 primjera s formulom za automatsko popunjavanje zadnjeg retka u Excel VBA

1. VBA za automatsko popunjavanje formule do posljednjeg korištenog retka

Slično tome, možete automatski popuniti formulu pomoću VBA. ako ste pročitali prethodne odjeljke, to možete lako izvesti. Problem nastaje kada morate automatski popuniti formulu do zadnjeg retka. Najprije morate identificirati zadnji korišteni red. Nakon toga, VBA kôd će ih automatski ispuniti.

Pogledajte sljedeći skup podataka:

Ovdje imamo skup podataka o prodaji nekih prodavača . Naš cilj je dodati prodaju za siječanj i veljaču u stupac Ukupno. Nakon toga, koristit ćemo metodu automatskog popunjavanja koristeći VBA do zadnjeg korištenog retka u Excelu.

Da biste ovo izvršili, upišite sljedeći kod:

3977

last_row = Cells(Rows.Count, 2).End(xlUp).Row: Vraća zadnji korišteni red iz stupca B. Možete odabrati bilo koji stupac iz skupa podataka.

Raspon(“E5”).Formula = “=SUM(C5:D5)”: Zbrajamo prodaju ćelije C5 i D5.

Raspon(“E5”).AutoFill Destination:=Range(“E5:E” & last_row): Nakon dobivanja rezultata, koristimo automatsko popunjavanje. Počinje automatsko popunjavanje od ćelije E5 do zadnjeg korištenog retka koji smo prethodno dobili.

Sada pokrenite VBA makro. Nakon toga vidjet ćete sljedeći izlaz:

Asmožete vidjeti, naš VBA kod dodaje prvi rezultat i automatski popunjava formulu u zadnji redak u programu Excel.

Pročitajte više: Kako popuniti podatke do zadnjeg retka u Excel

2. VBA automatsko popunjavanje od ActiveCell do zadnjeg retka

Sada, ako ne želite koristiti određeni raspon u metodi automatskog popunjavanja, možete koristiti vrijednosti aktivne ćelije , formule ili formati. Kada kliknete ćeliju i želite automatski popuniti ostale retke formulom aktivne ćelije, koristite ovu metodu.

Slično je prethodnom primjeru. Koristimo prethodni skup podataka:

Sada ćemo dodati prodaju za siječanj i veljaču i automatski popuniti formulu u zadnji red pomoću programa Excel VBA.

Sada upišite sljedeći kod:

2196

last_row = Cells(Rows.Count, 2).End(xlUp).Row: Vraća zadnji korišteni redak iz stupca B. Možete odabrati bilo koji stupac iz skupa podataka.

ActiveCell.Formula = “=SUM(C5:D5)”: Dodajemo prodaju Cell C5 i D5 u odabranoj ćeliji.

ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & “:E” & last_row): Nakon dobivanja rezultata koristimo automatsko popunjavanje. Počinje automatsko popunjavanje od aktivne ćelije do zadnjeg korištenog retka koji smo prethodno dobili.

Sada odaberite Ćelija E5 .

Nakon toga pokrenite VBA makronaredbu da biste dodali formulu i automatsko popunjavanje u zadnji red.

Kao što vidite, miuspješno upotrijebio VBA makronaredbu za automatsko popunjavanje formule do posljednjeg retka.

Slična čitanja

  • Kako ponoviti retke određeni broj puta u Excel (4 načina)
  • Automatsko numeriranje redaka u Excelu (8 metoda)
  • Kako ispuniti stupac u Excelu istom vrijednošću (9 trikova) )
  • Primijeni prečac za automatsko popunjavanje u Excelu (7 metoda)

3. Automatsko popunjavanje do zadnjeg retka pomoću dinamičkog raspona s Excel VBA

Prethodno smo vam pokazali neke VBA makronaredbe za automatsko popunjavanje do zadnjeg reda u Excelu. Sada, u tim smo primjerima već koristili dinamičke raspone.

Da biste razumjeli statičke raspone, pogledajte sljedeći kod:

8106

U osnovi smo rekli Excelu da unese formulu u Ćelija E5 i automatski je popunite od ćelije E5 do ćelije E11 . Ovdje smo odredili raspon. Što ako dodate više redaka? U tom slučaju naš VBA neće automatski popuniti te dodatne retke jer smo mu već rekli da automatski popuni određeni raspon.

Da bih riješio ovaj problem smislio sam rješenje koje može uzeti dinamički raspon:

5133

Kao što vidite, najprije pronalazimo zadnji red ovim retkom koda:

4032

Nakon toga, automatski popunjavamo zadnji red koristeći dinamički raspon:

4597

Ne bez obzira koliko redaka dodate u svoj skup podataka, ovaj VBA kod će ih uspješno identificirati. I automatski će ih ispuniti formulom.

Dinamički raspon u osnovi znači da ne morate unijeti rasponručno. Excel će ga ažurirati s vremena na vrijeme.

Pročitajte više: Excel VBA: Metoda automatskog popunjavanja klase raspona nije uspjela

4. Automatsko popunjavanje do kraja Stupac u Excelu koristeći VBA

Ako ste pročitali prethodne odjeljke za automatsko popunjavanje do zadnjeg retka, tada možete lako automatski popuniti zadnji stupac. Morate samo pronaći zadnji broj stupca i automatski ga popuniti s Excel VBA.

Pogledajte sljedeći skup podataka:

Ovdje imamo skup podataka koji predstavlja tromjesečni proračun osobe. Sada ćemo dodati troškove svih mjeseci i automatski ispuniti formulu u zadnji stupac koristeći Excel VBA.

Sada upišite sljedeći kod:

2752

last_column = Cells(6, Columns.Count).End(xlToLeft).Column: Vraća zadnji korišteni stupac iz retka 6. Možete odabrati bilo koji redak za početak iz skupa podataka.

Raspon(“D9”).Formula = “=SUM(D6:D8)”: Dodajemo troškove za tri mjeseca (siječanj, veljača. ožujak).

Raspon(“D9”).AutoFill Destination:=Range(“D9”, Cells(9, last_column)): Nakon dobivanja rezultata, koristimo automatsko popunjavanje. Ovdje je naš glavni red broj 9. Svi naši podaci bit će u ovom retku. Počinje automatsko popunjavanje od stupca D do zadnjeg korištenog stupca koji smo prethodno dobili od last_column .

Nakon pokretanja makronaredbe, vidjet ćete sljedeći izlaz :

Kao što vidite, uspješno smo upotrijebili VBA za automatsko popunjavanjeformulu do zadnjeg stupca u Excelu.

Pročitajte više: Kako automatski popuniti stupac u Excelu

5. Automatsko popunjavanje sekvencijalnih brojeva do zadnjeg retka u Excelu pomoću VBA

Također možete automatski popuniti sekvencijalne brojeve pomoću automatskog popunjavanja u VBA. Ovdje morate koristiti xlFillSeries u vrsti automatskog popunjavanja. Excel će razumjeti uzorak i ispuniti ih njime.

Pogledajte sljedeću sliku zaslona:

Ovdje imamo neka imena. I želimo im dati ID na sekvencijalni način. Da bismo to učinili, koristit ćemo VBA automatsko popunjavanje.

Automatsko popunjavanje sekvencijalnih brojeva sa statičkim rasponom:

7854

Nakon pokretanja koda, vidjet ćete izlaz:

Ako želite koristiti dinamički raspon, upotrijebite sljedeći kod:

8784

last_row = Cells(Rows. Count, 2).End(xlUp).Row: Vraća posljednji korišteni red iz stupca B.

Range(“C5”).AutoFill Destination:=Range(“C5” :C” & zadnji_red), Tip:=xlFillSeries: Uzet će ID ćelije C5 i automatski popuniti zadnji korišteni red u stupcu C koristeći xlFillSeries ,

U oba slučaja, dobit ćete isti izlaz:

Kao što vidite, uspješno smo upotrijebili VBA kod za automatsko popunjavanje sekvencijalnih brojeva u Excelu.

Pročitajte više: Excel formule za popunjavanje redoslijednih brojeva preskaču skrivene retke

💬 Stvari koje treba zapamtiti

Možete zaustaviti automatsko popunjavanje Razni načini ako to ne želite .

Ne možete automatski popuniti više redaka i stupaca istovremeno. Učinite to jedan po jedan.

Zaključak

Za kraj, nadam se da vam je ovaj vodič pružio dio korisnog znanja za automatsko popunjavanje formule do posljednjeg retka pomoću VBA kodova. Preporučujemo da naučite i primijenite sve ove upute na svoj skup podataka. Preuzmite radnu bilježnicu za vježbanje i isprobajte ih sami. Također, slobodno dajte povratne informacije u odjeljku za komentare. Vaše vrijedne povratne informacije motiviraju nas za izradu ovakvih vodiča.

Ne zaboravite provjeriti našu web stranicu Exceldemy.com za različite probleme i rješenja u vezi s Excelom.

Nastavite učiti nove metode i nastavite rasti!

Hugh West vrlo je iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i financije te magistrirao poslovno upravljanje. Hugh ima strast za podučavanjem i razvio je jedinstveni pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno poznavanje programa Excel pomoglo je tisućama studenata i profesionalaca diljem svijeta da poboljšaju svoje vještine i postignu uspjeh u karijeri. Putem svog bloga, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne vodiče za Excel i online obuku kako bi pomogao pojedincima i tvrtkama da dostignu svoj puni potencijal.