Samodejno izpolnjevanje formule v zadnjo vrstico s programom Excel VBA (5 primerov)

  • Deliti To
Hugh West

Če že nekaj časa delate z Microsoft Excelom, poznate pomen funkcije AutoFill. Da bi kopirali formulo čez vrstico ali stolpec, uporabljamo to metodo. Zdaj lahko to uporabljamo ročno z miško. Če pa imate veliko vrstico s podatki, bo težko kopirati katero koli formulo v zadnjo vrstico ali stolpec. Uporabite lahko kodo VBA za samodejno zapolnitev formule v zadnjo vrstico ali stolpec zenostavnost.

V tem učbeniku se boste naučili samodejno zapolniti formulo v zadnjo vrstico v Excelu z uporabo kod VBA. Ta učbenik bo na mestu z ustreznimi primeri in ustreznimi ilustracijami. Zato ostanite z nami.

Prenesi delovni zvezek za prakso

Formula samodejnega izpolnjevanja v zadnjo vrstico.xlsm

Kaj je samodejno izpolnjevanje v programu Excel?

Samodejno izpolnjevanje je vgrajena funkcija programa Microsoft Excel, ki uporabnikom omogoča samodejno izpolnjevanje preostalih vrstic ali stolpcev z vrednostmi, oblikami ali formulami. Prepoznate ga lahko, ko kazalec postavite v desni spodnji kot katere koli celice. Imenujemo ga izvajalec samodejnega izpolnjevanja programa Excel.

Oglejte si naslednjo sliko zaslona:

Tu sta prikazani dve številki. Preostale vrstice bomo izpolnili s samodejnim izpolnjevanjem v Excelu.

Najprej izberite obseg celic B5:B6. Nato boste v desnem spodnjem kotu videli ročico za samodejno izpolnjevanje.

Zdaj povlecite ta ročaj samodejnega izpolnjevanja navzdol.

Kot lahko vidite, je Excel samodejno zapolnil preostale celice. To je osnovna uporaba samodejnega izpolnjevanja v Excelu.

Kako uporabljati samodejno izpolnjevanje z Excelovim programom VBA

Če imate v določenem območju veliko število vrstic ali stolpcev, morate ročico za samodejno zapolnjevanje povleči navzdol do zadnje vrstice ali stolpca. To je zelo hektičen postopek. Na srečo ga lahko zmanjšate z uporabo kod VBA v Excelu. Kodo VBA lahko uporabite za samodejno zapolnjevanje celic z vrednostmi, formulami ali oblikami.

Generična sintaksa:

Range.AutoFill Destination, Vrsta

Tukaj,

Razpon("B5"): Celica z glavnim vzorcem za zapolnitev preostalih delov serije.

Destinacija: Območje celic, v katerih želite zapolniti serijo vzorcev.

Tip kot xlAutoFillType: Vrsta serijskega izpolnjevanja. Izbirate lahko med različnimi vrstami samodejnega izpolnjevanja.

Preberite več: Kako uporabljati samodejno izpolnjevanje VBA v programu Excel

4 vrste samodejnega izpolnjevanja v programu Excel VBA

V tem razdelku bom obravnaval nekatere vrste samodejnega izpolnjevanja. Videli smo že, da lahko izberemo katero koli vrsto samodejnega izpolnjevanja z uporabo xlAutoFillType. Tukaj vam bom pokazal nekaj primerov.

1. xlFillDefault

To vrsto samodejnega izpolnjevanja smo videli že v prejšnjem primeru.

Oglejte si posnetek zaslona:

Vnesite naslednjo kodo VBA za samodejno izpolnjevanje preostalih celic:

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

Zdaj zaženite makro VBA in videli boste naslednje:

Preostale celice samodejno zapolni z makrom VBA.

2. xlFillCopy

Za kopiranje istih vrednosti lahko uporabite tip xlFillCopy v vrsti samodejnega izpolnjevanja.

Oglejte si posnetek zaslona:

Vnesite naslednjo kodo VBA za samodejno izpolnjevanje preostalih celic:

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

Zdaj zaženite makro VBA in videli boste naslednje:

Excel preostale celice zapolni z enakim vzorcem vrednosti.

3. xlFillMonths

Mesece lahko zapolnite tudi z uporabo xlFillMonths vrsta samodejnega izpolnjevanja.

Oglejte si posnetek zaslona:

Vnesli smo dva meseca, januar in februar.

Vnesite naslednjo kodo VBA za samodejno izpolnjevanje preostalih celic:

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

Zdaj zaženite makro VBA in videli boste naslednje:

Excel samodejno razume vzorce in jih zapolni z njimi.

4. xlFillFormats

Oblike lahko kopirate tudi v druge celice z uporabo samodejnega izpolnjevanja VBA. Za to morate uporabiti xlFillFormats vrsta samodejnega izpolnjevanja.

Oglejte si posnetek zaslona:

V tem primeru smo obe celici napolnili z nekaj barvami.

Zdaj vnesite naslednjo kodo VBA za samodejno izpolnjevanje preostalih celic:

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

Zdaj zaženite makro VBA in videli boste naslednje:

Kot lahko vidite, naš makro VBA uporablja samodejno izpolnjevanje za učinkovito zapolnitev vrstic stolpca B.

Preberite več: Kako samodejno izpolniti mesece v Excelu

5 primerov s formulo samodejnega izpolnjevanja zadnje vrstice v Excelu VBA

1. VBA za samodejno izpolnjevanje formule v zadnjo uporabljeno vrstico

Podobno lahko formulo samodejno izpolnite z uporabo VBA. če ste prebrali prejšnja poglavja, boste to zlahka izvedli. težava nastane, ko morate formulo samodejno izpolniti do zadnje vrstice. Najprej morate določiti zadnjo uporabljeno vrstico. Nato jih bo koda VBA samodejno izpolnila.

Oglejte si naslednji nabor podatkov:

Tu imamo nabor podatkov o prodaji nekaterih prodajalcev. Naš cilj je dodati prodajo za mesec januar in februar v stolpec Skupaj. Nato bomo uporabili metodo samodejnega izpolnjevanja z uporabo VBA za zadnjo uporabljeno vrstico v Excelu.

Če želite to izvesti, vnesite naslednjo kodo:

 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: Vrne zadnjo uporabljeno vrstico iz stolpca B. Izberete lahko kateri koli stolpec iz nabora podatkov.

Razpon("E5").Formula = "=SUM(C5:D5)": Dodamo prodajo Celica C5 in . D5.

Range("E5").AutoFill Destination:=Range("E5:E" & last_row): Ko dobimo rezultat, uporabimo funkcijo samodejnega izpolnjevanja. Začne se samodejno izpolnjevanje od Celica E5 na zadnjo uporabljeno vrstico, ki smo jo dobili prej.

Sedaj zaženite makro VBA. Po tem se bo prikazal naslednji rezultat:

Kot lahko vidite, naša koda VBA doda prvi rezultat in samodejno izpolni formulo v zadnjo vrstico v Excelu.

Preberite več: Kako izpolniti zadnjo vrstico s podatki v Excelu

2. Samodejno izpolnjevanje VBA iz celice ActiveCell v zadnjo vrstico

Če pri metodi samodejnega izpolnjevanja ne želite uporabiti določenega območja, lahko uporabite vrednosti, formule ali formate aktivne celice. Ko kliknete na celico in želite preostale vrstice samodejno izpolniti s formulo aktivne celice, uporabite to metodo.

Primer je podoben prejšnjemu. Uporabljamo prejšnji nabor podatkov:

Zdaj bomo dodali prodajo v januarju in februarju ter samodejno izpolnili formulo v zadnji vrstici z uporabo Excelove VBA.

Zdaj vnesite naslednjo kodo:

 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: Vrne zadnjo uporabljeno vrstico iz stolpca B. Izberete lahko kateri koli stolpec iz nabora podatkov.

ActiveCell.Formula = "=SUM(C5:D5)": Dodamo prodajo Celica C5 in . D5 v izbrani celici.

ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & ":E" & last_row): Ko dobimo rezultat, uporabimo samodejno izpolnjevanje. Začne se samodejno izpolnjevanje od aktivne celice do zadnje uporabljene vrstice, ki smo jo dobili prej.

Zdaj izberite Celica E5 .

Nato zaženite makro VBA, da v zadnjo vrstico dodate formulo in samodejno izpolnjevanje.

Kot lahko vidite, smo uspešno uporabili makro VBA za samodejno izpolnjevanje formule do zadnje vrstice.

Podobna branja

  • Kako v programu Excel določeno število vrstic ponovite (4 načini)
  • Samodejno številčenje vrstic v programu Excel (8 metod)
  • Kako izpolniti stolpec v Excelu z isto vrednostjo (9 trikov)
  • Uporaba bližnjice za samodejno izpolnjevanje v Excelu (7 metod)

3. Samodejno izpolnjevanje zadnje vrstice z uporabo dinamičnega razpona z Excelovim VBA

Prej smo vam pokazali nekaj makrov VBA za samodejno izpolnjevanje do zadnje vrstice v Excelu. V teh primerih smo že uporabili dinamična območja.

Za razumevanje statičnih razponov si oglejte naslednjo kodo:

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

Excelu smo v bistvu rekli, naj vnese formulo v Celica E5 in ga samodejno izpolnite iz Celica E5 na . Celica E11 V tem primeru smo določili območje. Kaj pa, če dodate več vrstic? V tem primeru naš program VBA ne bo samodejno izpolnil teh dodatnih vrstic, ker smo mu že povedali, naj samodejno izpolni določeno območje.

Za rešitev te težave sem prišel do rešitve, ki lahko sprejme dinamični razpon:

 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 

Kot lahko vidite, s to vrstico kode najprej poiščemo zadnjo vrstico:

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

Nato samodejno izpolnimo zadnjo vrstico z uporabo dinamičnega razpona:

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

Ne glede na to, koliko vrstic dodate v niz podatkov, jih bo ta koda VBA uspešno prepoznala. In jih samodejno izpolnila s formulo.

Dinamično območje v bistvu pomeni, da vam ni treba ročno vnašati območja. Excel ga bo občasno posodobil.

Preberite več: Excel VBA: Metoda samodejnega izpolnjevanja razreda Range ni uspela

4. Samodejno izpolnjevanje zadnjega stolpca v Excelu z uporabo VBA

Če ste prebrali prejšnja poglavja za samodejno izpolnjevanje do zadnje vrstice, lahko zlahka samodejno izpolnite tudi zadnji stolpec. Poiskati morate samo številko zadnjega stolpca in jo samodejno izpolniti z Excelovim programom VBA.

Oglejte si naslednji nabor podatkov:

Tu imamo nabor podatkov, ki predstavlja trimesečni proračun osebe. Zdaj bomo zbrali izdatke vseh mesecev in samodejno izpolnili formulo v zadnjem stolpcu z uporabo Excelovega VBA.

Zdaj vnesite naslednjo kodo:

 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 

zadnji_stolpec = Cells(6, Columns.Count).End(xlToLeft).Column: Vrne zadnji uporabljeni stolpec iz vrstice 6. Za začetek lahko izberete katero koli vrstico iz svojega nabora podatkov.

Razpon("D9").Formula = "=SUM(D6:D8)": Prištejemo stroške za tri mesece (januar, februar, marec).

Range("D9").AutoFill Destination:=Range("D9", Cells(9, last_column)): Ko dobimo rezultat, uporabimo samodejno izpolnjevanje. Tukaj je naša glavna vrstica vrstica številka 9. Vsi naši podatki bodo v tej vrstici. Začne se samodejno izpolnjevanje od stolpca D v zadnji uporabljeni stolpec, ki smo ga prej dobili z last_column .

Po zagonu makra se izpiše naslednji rezultat:

Kot lahko vidite, smo uspešno uporabili VBA za samodejno izpolnjevanje formule v zadnji stolpec v Excelu.

Preberite več: Kako samodejno izpolniti stolpec v Excelu

5. Samodejno izpolnjevanje zaporednih številk v zadnjo vrstico v Excelu z uporabo VBA

Zaporedne številke lahko samodejno zapolnite tudi z uporabo samodejnega izpolnjevanja v VBA. Pri tem morate uporabiti xlFillSeries v vrsti samodejnega izpolnjevanja. Excel bo razumel vzorec in jih izpolnil z njim.

Oglejte si naslednjo sliko zaslona:

Tu imamo nekaj imen. In želimo jim zaporedno dodeliti ID. V ta namen bomo uporabili funkcijo samodejnega izpolnjevanja VBA.

Samodejno izpolnjevanje zaporednih številk s statičnim obsegom:

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

Po zagonu kode se prikaže rezultat:

Če želite uporabiti dinamični razpon, uporabite naslednjo kodo:

 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: Vrne zadnjo uporabljeno vrstico iz stolpca B.

Range("C5").AutoFill Destination:=Range("C5:C" & last_row), Type:=xlFillSeries: Uporabi ID Celica C5 in samodejno zapolnite zadnjo uporabljeno vrstico v stolpcu C z uporabo xlFillSeries ,

V obeh primerih boste dobili enak rezultat:

Kot lahko vidite, smo kodo VBA uspešno uporabili za samodejno izpolnjevanje zaporednih številk v Excelu.

Preberite več: Excelove formule za izpolnjevanje zaporednih številk Preskoči skrite vrstice

💬 Stvari, ki si jih je treba zapomniti

Lahko zaustavite samodejno izpolnjevanje na različne načine, če tega ne želite. .

Ne morete samodejno izpolniti več vrstic in stolpcev hkrati. Izpolnite jih po vrsti.

Zaključek

Za konec upam, da vam je ta vadnica zagotovila delček uporabnega znanja za samodejno izpolnjevanje formule do zadnje vrstice z uporabo kod VBA. Priporočamo vam, da se naučite vseh teh navodil in jih uporabite za svoj nabor podatkov. Prenesite vadbeni delovni zvezek in jih preizkusite sami. Prav tako nam lahko v razdelku s komentarji posredujete povratne informacije. Vaše dragocene povratne informacije nas motivirajo za ustvarjanje vadnic, kot jeto.

Ne pozabite preveriti naše spletne strani Exceldemy.com za različne težave in rešitve, povezane z Excelom.

Še naprej se učite novih metod in rastite!

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.