Formulas automātiska aizpildīšana uz pēdējo rindu ar Excel VBA (5 piemēri)

  • Dalīties Ar Šo
Hugh West

Ja kādu laiku strādājat ar programmu Microsoft Excel, jūs zināt, cik svarīga ir automātiskā aizpildīšana. Lai kopētu formulu pāri rindai vai kolonnai, mēs izmantojam šo metodi. Tagad mēs to varam izmantot manuāli, izmantojot peli. Bet, ja jums ir liela rinda ar datiem, būs grūti kopēt jebkuru formulu uz pēdējo rindu vai kolonnu. Jūs varat izmantot VBA kodu, lai automātiski aizpildītu formulu uz pēdējo rindu vai kolonnu arvieglumu.

Šajā pamācībā jūs uzzināsiet, kā automātiski aizpildīt formulu pēdējā rindā programmā Excel, izmantojot VBA kodus. Šī pamācība būs par punktu ar piemērotiem piemēriem un pareizām ilustrācijām. Tāpēc palieciet kopā ar mums.

Lejupielādēt Practice Workbook

Formulas automātiskā aizpildīšana uz pēdējo rindu.xlsm

Kas ir automātiskā aizpildīšana programmā Excel?

Tagad automātiskā aizpildīšana ir Microsoft Excel iebūvēta funkcija, kas ļauj lietotājiem automātiski aizpildīt pārējās rindas vai kolonnas ar vērtībām, formātiem vai formulām. To var identificēt, kad kursoru novietojat jebkuras šūnas labajā apakšējā stūrī. Mēs to saucam par Excel automātiskās aizpildīšanas apstrādātāju.

Aplūkojiet šādu ekrānšāviņu:

Šeit redzami divi skaitļi. Pārējās rindas aizpildīsim, izmantojot Excel automātisko aizpildīšanu.

Vispirms atlasiet šūnu diapazonu B5:B6. Pēc tam labajā apakšējā stūrī redzēsiet automātiskās aizpildīšanas rokturi.

Tagad velciet šo automātiskās aizpildīšanas rokturi uz leju.

Kā redzat, Excel automātiski aizpildīja pārējās šūnas. Tas ir Excel automātiskās aizpildīšanas pamatizmantošanas veids.

Kā lietot automātisko aizpildīšanu ar Excel VBA

Ja attiecīgajā diapazonā ir liels rindu vai kolonnu skaits, jums jāvelk uz leju automātiskās aizpildīšanas rokturis līdz pēdējai rindai vai kolonnai. Tas ir ļoti drudžains process. Par laimi, to var samazināt, izmantojot Excel VBA kodus. Varat izmantot VBA kodu, lai automātiski aizpildītu šūnas ar vērtībām, formulām vai formātiem.

Vispārīgā sintakse:

Range.AutoFill Mērķis, tips

Šeit,

Range("B5"): Šūna, kurā ir galvenais modelis, lai aizpildītu pārējās sērijas.

Galamērķis: Šūnu diapazons, kuru vēlaties aizpildīt ar rakstu sēriju.

Tips kā xlAutoFillType: Sērijas aizpildīšanas veids. Var izvēlēties dažādus automātiskās aizpildīšanas veidus.

Lasīt vairāk: Kā lietot VBA automātisko aizpildīšanu programmā Excel

4 automātiskās aizpildīšanas veidi programmā Excel VBA

Šajā sadaļā aplūkošu dažus automātiskās aizpildīšanas veidus. Jau redzējām, ka varam izvēlēties jebkuru automātiskās aizpildīšanas veidu, izmantojot opciju xlAutoFillType. Šeit es jums parādīšu dažus piemērus.

1. xlFillDefault

Šāda veida automātisko aizpildīšanu jau redzējām iepriekšējā piemērā.

Aplūkojiet ekrānšāviņu:

Lai automātiski aizpildītu pārējās šūnas, ievadiet šādu VBA kodu:

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

Tagad palaidiet VBA makro, un pēc tam redzēsiet:

Tas automātiski aizpilda pārējās šūnas, izmantojot VBA makro.

2. xlFillCopy

Lai kopētu tās pašas vērtības, varat izmantot tipu xlFillCopy automātiskās aizpildīšanas tipā.

Aplūkojiet ekrānšāviņu:

Lai automātiski aizpildītu pārējās šūnas, ievadiet šādu VBA kodu:

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

Tagad palaidiet VBA makro, un pēc tam redzēsiet:

Excel aizpilda pārējās šūnas ar tādu pašu vērtību modeli.

3. xlFillMonths

Mēnešus var aizpildīt arī, izmantojot xlFillMonths automātiskās aizpildīšanas veids.

Aplūkojiet ekrānšāviņu:

Šeit mēs esam ievadījuši divus mēnešus - janvāri un februāri.

Lai automātiski aizpildītu pārējās šūnas, ievadiet šādu VBA kodu:

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

Tagad palaidiet VBA makro, un pēc tam redzēsiet:

Excel automātiski saprot veidnes un aizpilda tās ar tām.

4. xlFillFormats

Izmantojot VBA automātisko aizpildīšanu, formātus var arī kopēt uz citām šūnām. Lai to izdarītu, ir jāizmanto funkcija xlFillFormats automātiskās aizpildīšanas veids.

Aplūkojiet ekrānšāviņu:

Šeit mēs esam aizpildījuši abas šūnas ar dažām krāsām.

Tagad ievadiet šādu VBA kodu, lai automātiski aizpildītu pārējās šūnas:

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

Tagad palaidiet VBA makro, un pēc tam redzēsiet:

Kā redzams, mūsu VBA makro programma izmanto automātisko aizpildīšanu, lai efektīvi aizpildītu B slejas rindas.

Lasīt vairāk: Kā automātiski aizpildīt mēnešus programmā Excel

5 piemēri ar automātiskās aizpildīšanas formulu uz pēdējo rindu programmā Excel VBA

1. VBA, lai automātiski aizpildītu formulu uz pēdējo izmantoto rindu

Līdzīgi varat automātiski aizpildīt formulu, izmantojot VBA. ja esat izlasījis iepriekšējās sadaļas, varat to viegli veikt. Problēma rodas, ja jums ir automātiski jāaizpilda formula līdz pēdējai rindai. Vispirms ir jānosaka pēdējā izmantotā rinda. Pēc tam VBA kods automātiski aizpildīs tās.

Aplūkojiet šādu datu kopu:

Šeit mums ir dažu pārdevēju pārdošanas datu kopa. Mūsu mērķis ir pievienot janvāra un februāra pārdošanas datus slejā Kopā. Pēc tam mēs izmantosim automātiskās aizpildīšanas metodi, izmantojot VBA, uz pēdējo izmantoto Excel rindu.

Lai to izpildītu, ievadiet šādu kodu:

 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: Tā atgriež pēdējo izmantoto rindu no slejas B. Varat izvēlēties jebkuru datu kopas sleju.

Range("E5").Formula = "=SUM(C5:D5)": Mēs pievienojam pārdošanas apjomus Šūna C5 un D5.

Range("E5").AutoFill Destination:=Range("E5:E" & last_row): Pēc rezultāta iegūšanas mēs izmantojam automātisko aizpildīšanu. Tā sāk automātisko aizpildīšanu no Šūna E5 uz pēdējo izmantoto rindu, kas iegūta iepriekš.

Tagad palaidiet VBA makro. Pēc tam redzēsiet šādu izvades rezultātu:

Kā redzat, mūsu VBA kods pievieno pirmo rezultātu un automātiski aizpilda formulu pēdējā Excel rindā.

Lasīt vairāk: Kā aizpildīt līdz pēdējai rindai ar datiem programmā Excel

2. VBA automātiskā aizpildīšana no ActiveCell uz pēdējo rindu

Tagad, ja automātiskās aizpildīšanas metodē nevēlaties izmantot konkrētu diapazonu, varat izmantot aktīvās šūnas vērtības, formulas vai formātus. Ja noklikšķināt uz šūnas un vēlaties automātiski aizpildīt pārējās rindas ar aktīvās šūnas formulu, izmantojiet šo metodi.

Tas ir līdzīgi kā iepriekšējā piemērā. Mēs izmantojam iepriekšējo datu kopu:

Tagad mēs pievienosim janvāra un februāra pārdošanas apjomus un automātiski aizpildīsim formulu pēdējā rindā, izmantojot Excel VBA.

Tagad ievadiet šādu kodu:

 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: Tā atgriež pēdējo izmantoto rindu no slejas B. Varat izvēlēties jebkuru datu kopas sleju.

ActiveCell.Formula = "=SUM(C5:D5)": Mēs pievienojam pārdošanas apjomus no Šūna C5 un D5 izvēlētajā šūnā.

ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & ":E" & last_row): Pēc rezultāta iegūšanas mēs izmantojam automātisko aizpildīšanu. Tā sāk automātisko aizpildīšanu no aktīvās šūnas līdz pēdējai izmantotajai rindai, ko ieguvām iepriekš.

Tagad atlasiet Šūna E5 .

Pēc tam palaidiet VBA makro, lai pēdējā rindā pievienotu formulu un automātisko aizpildīšanu.

Kā redzat, mēs veiksmīgi izmantojām VBA makro, lai automātiski aizpildītu formulu līdz pēdējai rindai.

Līdzīgi lasījumi

  • Kā Excel programmā Excel atkārtot rindas noteiktu reižu skaitu (4 veidi)
  • Automātiski numurēt rindas programmā Excel (8 metodes)
  • Kā aizpildīt Excel kolonnu ar to pašu vērtību (9 triki)
  • Automātiskās aizpildīšanas saīsnes piemērošana programmā Excel (7 metodes)

3. Automātiska aizpildīšana uz pēdējo rindu, izmantojot dinamisko diapazonu ar Excel VBA

Iepriekš mēs parādījām dažus VBA makrouzdevumus, lai automātiski aizpildītu Excel pēdējo rindu. Tagad šajos piemēros mēs jau izmantojām dinamiskos diapazonus.

Lai izprastu statiskos diapazonus, aplūkojiet šādu kodu:

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

Mēs būtībā esam teikuši programmai Excel ievadīt formulu Šūna E5 un automātiski aizpildīt to no Šūna E5 uz Šūna E11 . Šajā gadījumā mēs norādījām diapazonu. Ko darīt, ja pievienosiet vairāk rindu? Tādā gadījumā mūsu VBA automātiski neaizpildīs šīs papildu rindas, jo mēs jau esam teikuši, lai automātiski aizpildītu konkrētu diapazonu.

Lai atrisinātu šo problēmu, es piedāvāju risinājumu, kas var izmantot dinamisko diapazonu:

 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 

Kā redzat, ar šo koda rindu vispirms atrodam pēdējo rindu:

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

Pēc tam mēs automātiski aizpildām pēdējo rindu, izmantojot dinamisko diapazonu:

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

Neatkarīgi no tā, cik daudz rindu pievienosiet savai datu kopai, šis VBA kods tās veiksmīgi identificēs. Un tas automātiski aizpildīs tās ar formulu.

Dinamiskais diapazons būtībā nozīmē, ka diapazons nav jāievada manuāli. Excel to laiku pa laikam atjauninās.

Lasīt vairāk: Excel VBA: diapazona klases automātiskās aizpildīšanas metode neizdevās

4. Automātiska aizpildīšana uz pēdējo kolonnu programmā Excel, izmantojot VBA

Ja esat izlasījis iepriekšējās sadaļas, lai automātiski aizpildītu līdz pēdējai rindai, tad varat viegli automātiski aizpildīt līdz pēdējai kolonnai. Jums vienkārši jāatrod pēdējās kolonnas numurs un automātiski jāaizpilda tas ar Excel VBA.

Aplūkojiet šādu datu kopu:

Šeit mums ir datu kopa, kas atspoguļo personas 3 mēnešu budžetu. Tagad mēs saskaitīsim visu mēnešu izdevumus un automātiski aizpildīsim formulu pēdējā slejā, izmantojot Excel VBA.

Tagad ievadiet šādu kodu:

 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: Tas atgriež pēdējo izmantoto kolonnu no rindas 6. Varat izvēlēties jebkuru rindu, lai sāktu no datu kopas.

Range("D9").Formula = "=SUM(D6:D8)": Mēs pieskaitām izdevumus par trīs mēneši (janvāris, februāris, marts).

Range("D9").AutoFill Destination:=Range("D9", Cells(9, last_column)): Pēc rezultāta iegūšanas mēs izmantojam automātisko aizpildīšanu. Šeit mūsu galvenā rinda ir 9. rinda. Visi mūsu dati būs šajā rindā. Automātiskā aizpildīšana sākas no slejas. D uz pēdējo izmantoto kolonnu, ko iepriekš ieguvām ar last_column .

Pēc makra palaišanas redzēsiet šādu izvades rezultātu:

Kā redzat, mēs veiksmīgi izmantojām VBA, lai automātiski aizpildītu formulu pēdējā Excel slejā.

Lasīt vairāk: Kā automātiski aizpildīt kolonnu programmā Excel

5. Automātiska secīgu skaitļu aizpildīšana līdz pēdējai rindai programmā Excel, izmantojot VBA

Varat arī automātiski aizpildīt secīgus numurus, izmantojot VBA automātiskās aizpildīšanas funkciju. Šajā gadījumā ir jāizmanto xlFillSeries automātiskās aizpildīšanas tipā. Excel sapratīs šablonu un aizpildīs tos ar to.

Aplūkojiet šādu ekrānšāviņu:

Šeit mums ir daži vārdi. Un mēs vēlamies tiem piešķirt ID secīgā veidā. Lai to izdarītu, mēs izmantosim VBA automātisko aizpildīšanu.

Automātiski aizpildiet secīgos numurus ar statisku diapazonu:

 Apakšiedaļa sequential_number_2() Range("C5").AutoFill Destination:=Range("C5:C11"), Type:=xlFillSeries End Sub 

Pēc koda palaišanas redzēsiet rezultātu:

Ja vēlaties izmantot dinamisko diapazonu, izmantojiet šādu kodu:

 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" & amp; last_row), Type:=xlFillSeries End Sub 

last_row = Cells(Rows.Count, 2).End(xlUp).Row: Tā atgriež pēdējo izmantoto rindu no slejas B.

Range("C5").AutoFill Destination:=Range("C5:C" & last_row), Type:=xlFillSeries: Tas izmantos ID Šūna C5 un automātiskā aizpildīšana uz pēdējo izmantoto rindu slejā C izmantojot xlFillSeries ,

Abos gadījumos tiks iegūts vienāds rezultāts:

Kā redzat, mēs veiksmīgi izmantojām VBA kodu, lai Excel programmā automātiski aizpildītu secīgus numurus.

Lasīt vairāk: Excel formulas, lai aizpildītu secības skaitļus, lai izlaistu slēptās rindas

💬 Lietas, kas jāatceras

Jūs varat apturēt automātisko aizpildīšanu dažādos veidos, ja jūs to nevēlaties. .

Jūs nevarat automātiski aizpildīt vairākas rindas un kolonnas vienlaicīgi. Veiciet to pa vienai.

Secinājums

Nobeigumā es ceru, ka šī pamācība ir sniegusi jums noderīgas zināšanas, lai automātiski aizpildītu formulu līdz pēdējai rindai, izmantojot VBA kodus. Mēs iesakām jums iemācīties un piemērot visus šos norādījumus savai datu kopai. Lejupielādējiet prakses darbgrāmatu un izmēģiniet tos paši. Tāpat nevilcinieties sniegt atsauksmes komentāru sadaļā. Jūsu vērtīgās atsauksmes uztur mūsu motivāciju veidot tādas pamācības kāšo.

Neaizmirstiet pārbaudīt mūsu vietni Exceldemy.com par dažādām ar Excel saistītām problēmām un risinājumiem.

Turpiniet apgūt jaunas metodes un augt!

Hjū Vests ir ļoti pieredzējis Excel treneris un analītiķis ar vairāk nekā 10 gadu pieredzi šajā nozarē. Viņam ir bakalaura grāds grāmatvedībā un finansēs un maģistra grāds uzņēmējdarbības vadībā. Hjū aizraujas ar mācīšanu, un viņš ir izstrādājis unikālu mācīšanas pieeju, kas ir viegli izpildāma un saprotama. Viņa ekspertu zināšanas programmā Excel ir palīdzējušas tūkstošiem studentu un profesionāļu visā pasaulē uzlabot savas prasmes un izcelties karjerā. Izmantojot savu emuāru, Hjū dalās savās zināšanās ar pasauli, piedāvājot bezmaksas Excel apmācības un tiešsaistes apmācību, lai palīdzētu personām un uzņēmumiem pilnībā izmantot savu potenciālu.