AutoFill-kaava viimeiselle riville Excel VBA: lla (5 esimerkkiä)

  • Jaa Tämä
Hugh West

Jos olet työskennellyt Microsoft Excelin kanssa jonkin aikaa, tiedät AutoFillin merkityksen. Jotta voimme kopioida kaavan rivin tai sarakkeen yli, käytämme tätä menetelmää. Nyt voimme käyttää tätä manuaalisesti hiirellä. Mutta jos sinulla on suuri rivi tietoja, on vaikeaa kopioida kaavaa viimeiselle riville tai sarakkeeseen. Voit käyttää VBA-koodia kaavan automaattiseen täyttämiseen viimeiselle riville tai sarakkeeseen seuraavastiLepo.

Tässä opetusohjelmassa opit täyttämään kaavan automaattisen täyttämisen Excelin viimeiselle riville VBA-koodien avulla. Tämä opetusohjelma on kohdallaan sopivilla esimerkeillä ja asianmukaisilla kuvilla. Joten pysy kanssamme.

Lataa harjoituskirja

Autofill-kaava viimeiselle riville.xlsmsm

Mikä on AutoFill Excelissä?

Automaattinen täyttö on Microsoft Excelin sisäänrakennettu ominaisuus, jonka avulla käyttäjät voivat automaattisesti täyttää loput rivit tai sarakkeet arvoilla, muotoiluilla tai kaavoilla. Tunnistat sen, kun viet kursorin minkä tahansa solun oikeaan alakulmaan. Kutsumme sitä Excelin automaattiseksi täytön käsittelijäksi.

Katso seuraavaa kuvakaappausta:

Tässä näet kaksi numeroa. Täytämme loput rivit Excelin automaattisen täytön avulla.

Valitse ensin solualue B5:B6. Tämän jälkeen näet automaattisen täyttökahvan oikeassa alakulmassa.

Vedä tätä automaattisen täytön kahvaa alaspäin.

Kuten näet, Excel täytti loput solut automaattisesti. Tämä on Excelin automaattisen täytön peruskäyttö.

Automaattisen täytön käyttäminen Excel VBA:n avulla

Jos tietyllä alueella on suuri määrä rivejä tai sarakkeita, sinun on vedettävä automaattisen täytön kahva viimeiselle riville tai sarakkeelle. Se on hyvin hektinen prosessi. Onneksi voit minimoida sen Excelin VBA-koodien avulla. Voit käyttää VBA-koodia solujen automaattiseen täyttämiseen arvoilla, kaavoilla tai muotoilla.

Yleinen syntaksi:

Range.AutoFill Kohde, tyyppi

Täällä,

Range("B5"): Solu, jossa on pääkuvio, joka täyttää loput sarjasta.

Määränpää: Solujen alue, jonka haluat täyttää kuviosarjalla.

Type as xlAutoFillType: Sarjan täyttötyyppi. Voit valita erilaisia automaattisia täyttötyyppejä.

Lue lisää: VBA-automaattitäytön käyttäminen Excelissä

4 automaattisen täytön tyyppiä Excel VBA:ssa

Tässä osiossa käsittelen joitakin automaattisen täytön tyyppejä. Näimme jo, että voimme valita minkä tahansa automaattisen täytön tyypin käyttämällä komentoa xlAutoFillType. Näytän tässä muutamia esimerkkejä siitä.

1. xlFillDefault

Näimme tämäntyyppisen automaattisen täytön jo edellisessä esimerkissä.

Katso kuvakaappaus:

Kirjoita seuraava VBA-koodi, jotta loput solut täyttyvät automaattisesti:

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

Suorita nyt VBA-makro, ja sen jälkeen näet seuraavaa:

Se täyttää loput solut automaattisesti VBA-makron avulla.

2. xlFillCopy

Voit kopioida samat arvot käyttämällä tyyppiä xlFillCopy automaattisen täytön tyypissä.

Katso kuvakaappaus:

Kirjoita seuraava VBA-koodi, jotta loput solut täyttyvät automaattisesti:

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

Suorita nyt VBA-makro, ja sen jälkeen näet seuraavaa:

Excel täyttää loput solut samalla arvomallilla.

3. xlFillMonths

Voit myös täyttää kuukausia käyttämällä xlFillMonths automaattisen täytön tyyppi.

Katso kuvakaappaus:

Tässä on kaksi kuukautta tammikuu ja helmikuu.

Kirjoita seuraava VBA-koodi, jotta loput solut täyttyvät automaattisesti:

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

Suorita nyt VBA-makro, ja sen jälkeen näet seuraavaa:

Excel ymmärtää kuviot automaattisesti ja täyttää ne niillä.

4. xlFillFormats

Voit myös kopioida muotoiluja muihin soluihin VBA:n automaattisen täytön avulla. Tätä varten sinun on käytettävä komentoa xlFillFormats automaattisen täytön tyyppi.

Katso kuvakaappaus:

Tässä olemme täyttäneet kaksi solua väreillä.

Kirjoita nyt seuraava VBA-koodi, jotta loput solut täyttyvät automaattisesti:

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

Suorita nyt VBA-makro, ja sen jälkeen näet seuraavaa:

Kuten näet, VBA-makro käyttää automaattista täyttöä sarakkeen B rivien täyttämiseen tehokkaasti.

Lue lisää: Kuinka automaattinen kuukausien täyttäminen Excelissä

5 esimerkkiä AutoFill-kaavalla Excel VBA: n viimeiselle riville

1. VBA kaavan automaattiseen täyttämiseen viimeksi käytetylle riville

Vastaavasti voit täyttää kaavan automaattisesti VBA:n avulla.Jos olet lukenut edelliset kohdat, pystyt helposti suorittamaan tämän. Ongelma syntyy, kun kaava on täytettävä automaattisesti viimeiselle riville. Sinun on ensin tunnistettava viimeksi käytetty rivi. Sen jälkeen VBA-koodi täyttää ne automaattisesti.

Katsokaa seuraavaa tietokokonaisuutta:

Tässä meillä on myyntitietokanta eräistä myyjistä. Tavoitteenamme on lisätä tammikuun ja helmikuun myynnit sarakkeeseen Total. Tämän jälkeen käytämme automaattista täyttömenetelmää VBA:n avulla Excelin viimeiseksi käytetylle riville.

Suorita tämä kirjoittamalla seuraava koodi:

 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: Se palauttaa sarakkeen B viimeisen käytetyn rivin. Voit valita minkä tahansa sarakkeen tietokokonaisuudestasi.

Range("E5").Formula = "=SUM(C5:D5)": Lisäämme myynnin Solu C5 ja D5.

Range("E5").AutoFill Destination:=Range("E5:E" & last_row): Kun olemme saaneet tuloksen, käytämme automaattista täyttöä. Se aloittaa automaattisen täytön alkaen Solu E5 viimeiseksi käytetylle riville, jonka saimme aiemmin.

Suorita nyt VBA-makro, jonka jälkeen näet seuraavan tulosteen:

Kuten näet, VBA-koodimme lisää ensimmäisen tuloksen ja kaavan automaattisen täytön Excelin viimeiselle riville.

Lue lisää: Kuinka täyttää viimeiseen riviin asti Excelin tiedot Excelissä

2. VBA AutoFill ActiveCellistä viimeiselle riville

Jos et halua käyttää tiettyä aluetta automaattitäyttömenetelmässä, voit käyttää aktiivisen solun arvoja, kaavoja tai muotoiluja. Kun napsautat solua ja haluat täyttää loput rivit automaattisesti aktiivisen solun kaavalla, käytä tätä menetelmää.

Se on samanlainen kuin edellinen esimerkki. Käytämme aiempaa tietokokonaisuutta:

Nyt lisäämme tammikuun ja helmikuun myynnit ja täytämme kaavan automaattisesti viimeiselle riville Excel VBA:n avulla.

Kirjoita nyt seuraava koodi:

 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: Se palauttaa sarakkeen B viimeisen käytetyn rivin. Voit valita minkä tahansa sarakkeen tietokokonaisuudestasi.

ActiveCell.Formula = "=SUM(C5:D5)": Lisäämme myynnin Solu C5 ja D5 valittuun soluun.

ActiveCell.AutoFill Kohde:=Range(ActiveCell.Address & ":E" & last_row): Kun tulos on saatu, käytämme automaattista täyttöä. Se alkaa täyttää automaattisesti aktiivisesta solusta viimeksi käytetylle riville, jonka saimme aiemmin.

Valitse nyt Solu E5 .

Suorita sen jälkeen VBA-makro lisätäksesi kaavan ja automaattisen täytön viimeiselle riville.

Kuten näet, käytimme onnistuneesti VBA-makroa kaavan automaattiseen täyttämiseen viimeiselle riville.

Samanlaisia lukemia

  • Kuinka toistaa rivejä tietty määrä kertoja Excelissä (4 tapaa)
  • Rivien numerointi automaattisesti Excelissä (8 menetelmää)
  • Kuinka täyttää sarake Excelissä samalla arvolla (9 temppuja)
  • Soveltaa automaattista täyttöä pikakuvaketta Excelissä (7 tapaa)

3. Automaattinen täyttö viimeiselle riville käyttämällä dynaamista aluetta Excel VBA: lla

Aiemmin näytimme sinulle joitakin VBA-makroja, joilla voit täyttää Excelin viimeisen rivin automaattisesti. Näissä esimerkeissä käytimme jo dynaamisia alueita.

Jos haluat ymmärtää staattiset alueet, katso seuraavaa koodia:

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

Periaatteessa käskimme Excelin syöttää kaavan Solu E5 ja täyttää sen automaattisesti Solu E5 osoitteeseen Solu E11 Tässä määrittelimme alueen. Entä jos lisäät lisää rivejä? Siinä tapauksessa VBA ei täytä näitä ylimääräisiä rivejä automaattisesti, koska olemme jo käskeneet sitä täyttämään automaattisesti tietyn alueen.

Tämän ongelman ratkaisemiseksi keksin ratkaisun, joka voi ottaa dynaamisen alueen:

 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 

Kuten näet, löydämme ensin viimeisen rivin tällä koodirivillä:

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

Sen jälkeen täytämme automaattisesti viimeisen rivin dynaamisen alueen avulla:

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

Riippumatta siitä, kuinka monta riviä lisäät tietokokonaisuuteesi, tämä VBA-koodi onnistuu tunnistamaan ne. Ja se täyttää ne automaattisesti kaavalla.

Dynaaminen alue tarkoittaa periaatteessa sitä, että sinun ei tarvitse syöttää aluetta manuaalisesti. Excel päivittää sen aika ajoin.

Lue lisää: Excel VBA: Range-luokan automaattinen täyttömenetelmä epäonnistui

4. Automaattinen täyttö viimeiseen sarakkeeseen Excelissä VBA:n avulla

Jos olet lukenut edelliset kohdat viimeisen rivin automaattisesta täyttämisestä, voit täyttää viimeisen sarakkeen helposti. Sinun on vain löydettävä viimeisen sarakkeen numero ja täytettävä se automaattisesti Excel VBA: lla.

Katsokaa seuraavaa tietokokonaisuutta:

Tässä meillä on tietokokonaisuus, joka edustaa henkilön 3 kuukauden budjettia. Nyt lisäämme kaikkien kuukausien kulut ja täytämme kaavan automaattisesti viimeiseen sarakkeeseen Excel VBA:n avulla.

Kirjoita nyt seuraava koodi:

 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: Se palauttaa rivin 6 viimeiseksi käytetyn sarakkeen. Voit valita minkä tahansa rivin aloitettavaksi tietokokonaisuudestasi.

Range("D9").Formula = "=SUM(D6:D8)": Lisäämme seuraavat kulut kolme kuukautta (tammikuu, helmikuu, maaliskuu).

Range("D9").AutoFill Kohde:=Range("D9", Cells(9, last_column)): Kun olemme saaneet tuloksen, käytämme automaattista täyttöä. Tässä päärivimme on rivi numero 9. Kaikki tietomme ovat tällä rivillä. Automaattinen täyttö alkaa sarakkeesta D viimeksi käytettyyn sarakkeeseen, jonka saimme aiemmin komennolla last_column .

Kun olet suorittanut makron, näet seuraavan tulosteen:

Kuten näet, olemme onnistuneesti käyttäneet VBA:ta kaavan automaattiseen täyttämiseen Excelin viimeiseen sarakkeeseen.

Lue lisää: Kuinka täyttää sarake automaattisesti Excelissä

5. AutoFill juoksevat numerot viimeiselle riville Excelissä VBA:n avulla

Voit myös täyttää juoksevat numerot automaattisesti VBA:n automaattisen täyttämisen avulla. Tässä sinun on käytettävä komentoa xlFillSeries Excel ymmärtää mallin ja täyttää ne sillä.

Katso seuraava kuvakaappaus:

Tässä meillä on joitakin nimiä, joille haluamme antaa tunnuksen peräkkäin. Tätä varten käytämme VBA:n automaattista täyttämistä.

Automaattinen juoksevien numeroiden täyttäminen staattisella alueella:

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

Kun olet suorittanut koodin, näet tulosteen:

Jos haluat käyttää dynaamista aluetta, käytä seuraavaa koodia:

 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: Se palauttaa sarakkeen B viimeisen käytetyn rivin.

Range("C5").AutoFill Destination:=Range("C5:C" & last_row), Type:=xlFillSeries: Se ottaa tunnuksen Solu C5 ja täyttää automaattisesti sarakkeen viimeisen käytetyn rivin automaattisesti C käyttämällä xlFillSeries ,

Molemmissa tapauksissa saat saman tuloksen:

Kuten näet, olemme onnistuneesti käyttäneet VBA-koodia Excelin juoksevien numeroiden automaattiseen täyttämiseen.

Lue lisää: Excel-kaavat, joilla täytetään järjestysnumerot Ohita piilotetut rivit

💬 Muistettavaa

Voit pysäyttää automaattisen täyttämisen eri tavoin, jos et halua sitä .

Et voi täyttää automaattisesti useita rivejä ja sarakkeita samanaikaisesti. Tee se yksitellen.

Päätelmä

Lopuksi toivon, että tämä opetusohjelma on antanut sinulle hyödyllistä tietoa kaavan automaattisesta täyttämisestä viimeiselle riville VBA-koodien avulla. Suosittelemme, että opit ja sovellat kaikkia näitä ohjeita omiin tietokantoihin. Lataa harjoitustyökirja ja kokeile näitä itse. Anna myös rohkeasti palautetta kommenttiosioon. Arvokas palautteesi pitää meidät motivoituneina luomaan opetusohjelmia kutentämä.

Älä unohda tarkistaa verkkosivujamme Exceldemy.com erilaisiin Exceliin liittyviin ongelmiin ja ratkaisuihin.

Jatka uusien menetelmien oppimista ja jatka kasvamista!

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.