Sisukord
Kui te töötate mõnda aega Microsoft Exceliga, siis teate AutoFill'i tähtsust. Selleks, et kopeerida valemit üle rea või veeru, kasutame seda meetodit. Nüüd saame seda kasutada käsitsi hiirega. Aga kui teil on suur rida andmeid, on raske kopeerida mingit valemit viimasesse reasse või veergu. Saate kasutada VBA koodi, et AutoFill valemit viimasesse reasse või veergu kopeerida kooskergendust.
Selles õppematerjalis õpite VBA-koodide abil Excelis viimase rea valemi automaatset täitmist. See õpetus on sobivate näidete ja nõuetekohaste illustratsioonidega. Nii et jääge meiega.
Lae alla praktiline töövihik
Autofill valemiga viimasele reale.xlsm
Mis on AutoFill Excelis?
Nüüd, autofill on Microsoft Exceli sisseehitatud funktsioon, mis võimaldab kasutajatel automaatselt täita ülejäänud read või veerud väärtuste, vormingute või valemitega. Selle saab tuvastada, kui viia kursor mis tahes lahtri paremasse alumisse nurka. Me nimetame seda Exceli autofill-käsitlejaks (autofill handler of Excel).
Vaadake järgmist ekraanipilti:
Siin on näha kaks numbrit. Ülejäänud read täidame Exceli automaatse täitmise abil.
Kõigepealt valige lahtrite vahemik B5:B6. Pärast seda näete paremas alumises nurgas automaatse täitmise käepideme.
Nüüd lohistage see automaatse täitmise käepide alla.
Nagu näete, täitis Excel ülejäänud lahtrid automaatselt. See on Exceli automaatse täitmise põhikasutus.
Kuidas kasutada AutoFill'i Excel VBAga
Kui teil on antud vahemikus suur hulk ridu või veerge, peate automaatse täitmise käepideme viimasele reale või veerule lohistama. See on väga hektiline protsess. Õnneks saate seda minimeerida, kasutades Exceli VBA-koode. VBA-koodi abil saate kasutada lahtrite automaatseks täitmiseks väärtuste, valemite või vormingutega.
Üldine süntaks:
Range.AutoFill Sihtkoht, tüüp
Siin,
Range("B5"): Ruut, mis on peamine muster, et täita ülejäänud seeria.
Sihtkoht: Ruutude vahemik, mille soovite täita mustrisarjaga.
Tüüp nagu xlAutoFillType: Sarja täitmise tüüp. Valida saab erinevaid automaatse täitmise tüüpe.
Loe edasi: Kuidas kasutada VBA automaatset täitmist Excelis
4 tüüpi automaatne täitmine Excel VBAs
Selles jaotises käsitlen ma mõningaid autofülituse tüüpe. Me nägime juba, et me saame valida mis tahes autofülituse tüübi, kasutades funktsiooni xlAutoFillType. Siinkohal näitan teile mõned näited selle kohta.
1. xlFillDefault
Seda tüüpi automaatset täitmist nägime juba eelmises näites.
Vaadake ekraanipilti:
Kirjutage järgmine VBA-kood ülejäänud lahtrite automaatseks täitmiseks:
Sub xlDefault_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillDefault End Sub
Nüüd käivitage VBA makro ja pärast seda näete järgmist:
See täidab ülejäänud lahtrid automaatselt VBA makro abil.
2. xlFillCopy
Samade väärtuste kopeerimiseks saate kasutada tüüpi xlFillCopy autofill-tüübis.
Vaadake ekraanipilti:
Kirjutage järgmine VBA-kood ülejäänud lahtrite automaatseks täitmiseks:
Sub xlFillCopy_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillCopy End Sub
Nüüd käivitage VBA makro ja pärast seda näete järgmist:
Excel täidab ülejäänud lahtrid sama väärtuste mustriga.
3. xlFillMonths
Võite täita ka kuud, kasutades xlFillMonths automaatne täitmine.
Vaadake ekraanipilti:
Siin oleme sisenenud kahe kuu, jaanuari ja veebruari, sisse.
Kirjutage järgmine VBA-kood, et ülejäänud lahtrid automaatselt täita:
Sub xlFillMonths_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillMonths End Sub
Nüüd käivitage VBA makro ja pärast seda näete järgmist:
Excel mõistab automaatselt mustreid ja täidab need.
4. xlFillFormats
VBA automaatset täitmist kasutades saab vorminguid kopeerida ka teistesse lahtritesse. Selleks tuleb kasutada funktsiooni xlFillFormats automaatne täitmine.
Vaadake ekraanipilti:
Siin oleme täitnud kaks lahtrit mõne värviga.
Nüüd sisestage järgmine VBA-kood, et ülejäänud lahtrid automaatselt täita:
Sub xlFillFormats_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillFormats End Sub
Nüüd käivitage VBA makro ja pärast seda näete järgmist:
Nagu näete, kasutab meie VBA-makro automaatset täitmist veeru B ridade tõhusaks täitmiseks.
Loe edasi: Kuidas Excelis kuude automaatset täitmist täita
5 näidet automaatse täitmisvalemiga Exceli VBA viimasele reale
1. VBA valemiga automaatne täitmine viimasele kasutatud reale
Samamoodi saab VBA abil valemit automaatselt täita. kui olete lugenud eelnevaid jaotisi, saate seda hõlpsasti teha. Probleem tekib siis, kui peate valemi automaatselt täitma viimasele reale. Te peate kõigepealt tuvastama viimase kasutatud rea. Pärast seda täidab VBA-kood need automaatselt.
Vaadake järgmist andmestikku:
Siin on meil müügiteatmik mõnede müüjate kohta. Meie eesmärk on lisada jaanuari ja veebruari müük veergu Total. Pärast seda kasutame VBA abil automaatset täitmismeetodit Exceli viimasele kasutatud reale.
Selle täitmiseks kirjutage järgmine kood:
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: See tagastab viimase kasutatud rea veerust B. Saate valida mis tahes veeru oma andmekogumist.
Range("E5").Formula = "=SUM(C5:D5)": Me lisame müügi Raku C5 ja D5.
Range("E5").AutoFill Destination:=Range("E5:E" & last_row): Pärast tulemuse saamist kasutame automaatset täitmist. See alustab automaatset täitmist alates Ruut E5 viimasele kasutatud reale, mille me varem saime.
Nüüd käivitage VBA makro. Pärast seda näete järgmist väljundit:
Nagu näete, lisab meie VBA-kood Exceli viimasele reale esimese tulemuse ja valemi automaatse täitmise.
Loe edasi: Kuidas täita Excelis viimasele reale andmeid
2. VBA automaatne täitmine ActiveCellist viimasele reale
Nüüd, kui te ei soovi kasutada konkreetset vahemikku automaatse täitmise meetodis, saate kasutada aktiivse lahtri väärtusi, valemeid või vorminguid. Kui klõpsate lahtril ja soovite ülejäänud read automaatselt täita aktiivse lahtri valemiga, kasutage seda meetodit.
See on sarnane eelmise näitega. Kasutame eelmist andmestikku:
Nüüd lisame jaanuari ja veebruari müügi ja täidame valemi automaatselt viimasele reale, kasutades Exceli VBA-d.
Nüüd kirjutage järgmine kood:
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: See tagastab viimase kasutatud rea veerust B. Saate valida mis tahes veeru oma andmekogumist.
ActiveCell.Formula = "=SUM(C5:D5)": Me lisame müügi Raku C5 ja D5 valitud lahtrisse.
ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & ":E" & last_row): Pärast tulemuse saamist kasutame automaatset täitmist. See alustab automaatset täitmist aktiivsest lahtrist kuni viimase kasutatud reani, mille me eelnevalt saime.
Nüüd valige Ruut E5 .
Pärast seda käivitage VBA makro, et lisada valem ja automaatne täitmine viimasele reale.
Nagu näete, kasutasime edukalt VBA makrot, et täita valemit automaatselt viimasele reale.
Sarnased lugemised
- Kuidas korrata ridu kindlaksmääratud arv kordi Excelis (4 võimalust)
- Ridade numbrite automaatne nummerdamine Excelis (8 meetodit)
- Kuidas täita Exceli veergu sama väärtusega (9 trikki)
- AutoFill otsetee rakendamine Excelis (7 meetodit)
3. Automaatne täitmine viimasele reale, kasutades dünaamilist vahemikku Excel VBAga
Eelnevalt näitasime teile mõningaid VBA makrosid, et täita Excelis automaatselt viimane rida. Nüüd, nendes näidetes kasutasime juba dünaamilisi vahemikke.
Staatiliste vahemike mõistmiseks vaadake järgmist koodi:
Sub last_used_row() Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Destination:=Range("E5:E11") End Sub
Põhimõtteliselt käskisime Excelil sisestada valemi Ruut E5 ja täitke see automaatselt alates Lahter E5 aadressile Lahter E11 Siin määrasime vahemiku. Mis siis, kui lisate rohkem ridu? Sellisel juhul ei täida VBA neid täiendavaid ridu automaatselt, sest me juba käskisime tal automaatselt täita konkreetse vahemiku.
Selle probleemi lahendamiseks mõtlesin välja lahenduse, mis suudab võtta dünaamilist vahemikku:
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
Nagu näete, leiame kõigepealt viimase rea selle koodirea abil:
last_row = Cells(Rows.Count, 2).End(xlUp).Row
Pärast seda täidame automaatselt viimase reani, kasutades dünaamilist vahemikku:
Range("E5").AutoFill Destination:=Range("E5:E" & last_row)
Ükskõik kui palju ridu te oma andmekogumile lisate, see VBA-kood suudab need edukalt tuvastada. Ja see täidab need automaatselt valemiga.
Dünaamiline vahemik tähendab põhimõtteliselt seda, et te ei pea vahemikku käsitsi sisestama. Excel uuendab seda aeg-ajalt.
Loe edasi: Excel VBA: vahemiku klassi automaatse täitmise meetod ebaõnnestus
4. Automaatne täitmine Exceli viimasesse veergu VBA abil
Kui olete lugenud eelmisi jaotisi viimase rea automaatseks täitmiseks, siis saate hõlpsasti täita viimase veeruni. Peate lihtsalt leidma viimase veeru numbri ja täitma selle automaatselt Exceli VBA abil.
Vaadake järgmist andmestikku:
Siin on meil andmekogum, mis kujutab endast ühe isiku 3 kuu eelarvet. Nüüd lisame kõigi kuude kulud ja täidame automaatselt valemi viimasesse veergu, kasutades Exceli VBA-d.
Nüüd kirjutage järgmine kood:
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: See tagastab viimase kasutatud veeru realt 6. Te võite valida mis tahes rea oma andmestikust alustamiseks.
Range("D9").Formula = "=SUM(D6:D8)": Me lisame kulud kolm kuud (jaanuar, veebruar, märts).
Range("D9").AutoFill Destination:=Range("D9", Cells(9, last_column)): Pärast tulemuse saamist kasutame automaatset täitmist. Siin on meie põhirida rida number 9. Kõik meie andmed on selles reas. Automaatne täitmine algab veerust D viimasele kasutatud veerule, mille me eelnevalt saime läbi last_column .
Pärast makro käivitamist näete järgmist väljundit:
Nagu näete, kasutasime VBA-d edukalt Exceli viimase veeru valemi automaatseks täitmiseks.
Loe edasi: Kuidas Exceli veeru automaatset täitmist täita
5. Automaatne järjestikuste numbrite täitmine Exceli viimasele reale VBA abil
Järjestikuliste numbrite automaatset täitmist saab teha ka VBA automaatse täitmise abil. Siin tuleb kasutada funktsiooni xlFillSeries autofill-tüübis. Excel saab mustrist aru ja täidab need sellega.
Vaadake järgmist ekraanipilti:
Siin on meil mõned nimed. Ja me tahame neile järjestikku ID-d anda. Selleks kasutame VBA automaatset täitmist.
Järjestusnumbrite automaatne täitmine staatilise vahemikuga:
Sub sequential_number_2() Range("C5").AutoFill Destination:=Range("C5:C11"), Type:=xlFillSeries End Sub
Pärast koodi käivitamist näete väljundit:
Kui soovite kasutada dünaamilist vahemikku, siis kasutage järgmist koodi:
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: See tagastab veeru B viimase kasutatud rea.
Range("C5").AutoFill Destination:=Range("C5:C" & last_row), Type:=xlFillSeries: See võtab ID Raku C5 ja automaatne täitmine viimasena kasutatud reale veerus C kasutades xlFillSeries ,
Mõlemal juhul saate sama tulemuse:
Nagu näete, kasutasime VBA-koodi edukalt Exceli järjestikuste numbrite automaatseks täitmiseks.
Loe edasi: Exceli valemid järjestusnumbrite täitmiseks jätke varjatud read vahele
💬 Asjad, mida meeles pidada
✎ Saate peatada automaatne täitmine Erinevatel viisidel, kui te seda ei soovi .
✎ Mitut rida ja veergu ei saa korraga automaatselt täita. Tehke seda ükshaaval.
Kokkuvõte
Kokkuvõtteks loodan, et see õpetus on andnud teile kasulikke teadmisi, et VBA koodide abil automaatselt täita valemit viimasele reale. Soovitame teil õppida ja rakendada kõiki neid juhiseid oma andmekogumi suhtes. Laadige alla praktiline töövihik ja proovige neid ise. Samuti võite vabalt anda tagasisidet kommentaaride sektsioonis. Teie väärtuslik tagasiside hoiab meid motiveeritud, et luua selliseid õpetusi naguseda.
Ära unusta kontrollida meie veebisaiti Exceldemy.com erinevate Exceliga seotud probleemide ja lahenduste kohta.
Jätkake uute meetodite õppimist ja kasvamist!