Tartalomjegyzék
Ha egy ideje már dolgozik a Microsoft Excel programmal, akkor ismeri az AutoFill fontosságát. Annak érdekében, hogy egy képletet átmásoljunk a soron vagy az oszlopon, ezt a módszert használjuk. Most ezt manuálisan is használhatjuk az egérrel. De ha nagy sor adatai vannak, nehéz lesz bármilyen képletet átmásolni az utolsó sorba vagy oszlopba. A VBA kódot használhatja a képlet automatikus kitöltésére az utolsó sorba vagy oszlopba a következőkkelPihenj.
Ebben a bemutatóban megtanulja, hogy az Excel utolsó sorában lévő képletet VBA-kódok segítségével automatikusan kitöltse az Excel utolsó sorába. Ez a bemutató megfelelő példákkal és megfelelő illusztrációkkal fog rendelkezni. Tehát maradjon velünk.
Gyakorlati munkafüzet letöltése
Autofill formula az utolsó sorba.xlsm
Mi az AutoFill az Excelben?
Nos, az automatikus kitöltés a Microsoft Excel beépített funkciója, amely lehetővé teszi a felhasználók számára, hogy automatikusan kitöltsék a sorok vagy oszlopok többi részét értékekkel, formátumokkal vagy képletekkel. Ezt akkor ismerhetjük fel, ha a kurzort bármelyik cella jobb alsó sarkába visszük. Az Excel automatikus kitöltés kezelőjének nevezzük.
Nézze meg az alábbi képernyőképet:
Itt két számot láthat. A többi sort az Excel automatikus kitöltésével töltjük ki.
Először válassza ki a B5:B6 cellák tartományát. Ezután a jobb alsó sarokban megjelenik az automatikus kitöltés fogantyúja.
Most húzza lefelé ezt az automatikus kitöltési fogantyút.
Amint láthatja, az Excel automatikusan kitöltötte a többi cellát. Ez az automatikus kitöltés alapvető használata az Excelben.
Az automatikus kitöltés használata az Excel VBA-val
Ha egy adott tartományban sok sor vagy oszlop van, akkor az automatikus kitöltés fogantyúját az utolsó sorba vagy oszlopba kell húznia. Ez egy nagyon hektikus folyamat. Szerencsére minimalizálhatja azt az Excel VBA-kódok segítségével. A VBA-kód segítségével automatikusan kitöltheti a cellákat értékekkel, képletekkel vagy formátumokkal.
Az általános szintaxis:
Range.AutoFill Célállomás, Típus
Tessék,
Range("B5"): Az a cella, amely a fő mintát tartalmazza a sorozat többi részének kitöltéséhez.
Úti cél: Azon cellák tartománya, amelyeket ki akar tölteni a mintasorozattal.
Típus mint xlAutoFillType: A sorozat kitöltésének típusa. Különböző automatikus kitöltési típusok közül választhat.
Bővebben: A VBA automatikus kitöltés használata az Excelben
4 típusú automatikus kitöltés az Excel VBA-ban
Ebben a részben az automatikus kitöltés néhány típusát fogom tárgyalni. Már láttuk, hogy bármilyen automatikus kitöltési típust kiválaszthatunk a xlAutoFillType. Itt mutatok néhány példát erre.
1. xlFillDefault
Ezt a fajta automatikus kitöltést már láttuk az előző példában.
Nézze meg a képernyőképet:
Írja be a következő VBA-kódot a többi cella automatikus kitöltéséhez:
Sub xlDefault_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillDefault End Sub
Most futtassa a VBA makrót, és ezután a következőket fogja látni:
A többi cellát automatikusan kitölti a VBA makró segítségével.
2. xlFillCopy
Ugyanezen értékek másolásához használhatja a xlFillCopy az automatikus kitöltés típusában.
Nézze meg a képernyőképet:
Írja be a következő VBA-kódot a többi cella automatikus kitöltéséhez:
Sub xlFillCopy_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillCopy End Sub
Most futtassa a VBA makrót, és ezután a következőket fogja látni:
Az Excel a többi cellát ugyanezzel az értékmintával tölti ki.
3. xlFillMonths
Hónapokat is kitölthet a xlFillMonths automatikus kitöltés típusa.
Nézze meg a képernyőképet:
Itt két hónapot, január és február hónapot adtunk meg.
Írja be a következő VBA-kódot a többi cella automatikus kitöltéséhez:
Sub xlFillMonths_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillMonths End Sub
Most futtassa a VBA makrót, és ezután a következőket fogja látni:
Az Excel automatikusan megérti a mintákat, és kitölti őket.
4. xlFillFormats
A formátumok másolása más cellákba is lehetséges a VBA automatikus kitöltés segítségével. Ehhez a xlFillFormats automatikus kitöltés típusa.
Nézze meg a képernyőképet:
Itt a két cellát néhány színnel töltöttük ki.
Most írja be a következő VBA-kódot a többi cella automatikus kitöltéséhez:
Sub xlFillFormats_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillFormats End Sub
Most futtassa a VBA makrót, és ezután a következőket fogja látni:
Mint látható, a VBA makrónk az automatikus kitöltést használja a B oszlop sorainak hatékony kitöltésére.
Bővebben: Hogyan lehet automatikusan kitölteni a hónapokat az Excelben
5 példa az automatikus kitöltési képlettel az utolsó sorba az Excel VBA-ban
1. VBA a képlet automatikus kitöltéséhez az utolsó használt sorhoz
Hasonlóképpen, a VBA segítségével automatikusan kitölthet egy képletet. ha elolvasta az előző részeket, akkor ezt könnyen el tudja végezni. A probléma akkor merül fel, amikor a képletet az utolsó sorig automatikusan ki kell töltenie. Először az utolsó használt sort kell azonosítania. Ezután a VBA kód automatikusan kitölti azokat.
Vessen egy pillantást a következő adatkészletre:
Itt van egy értékesítési adathalmazunk néhány értékesítővel. A célunk az, hogy a januári és februári eladásokat hozzáadjuk a Total oszlophoz. Ezután az automatikus kitöltési módszert fogjuk használni a VBA segítségével az Excel utolsó használt sorához.
Ennek végrehajtásához írja be a következő kódot:
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: Visszaadja az utolsó használt sort a B oszlopból. Bármelyik oszlopot kiválaszthatja az adatállományból.
Range("E5").Formula = "=SUM(C5:D5)": Hozzáadjuk a következő eladásokat C5 sejt és D5.
Range("E5").AutoFill Destination:=Range("E5:E" & last_row): Miután megkaptuk az eredményt, használjuk az automatikus kitöltést. Az automatikus kitöltés a következőktől kezdődik E5 cella az utolsó használt sorhoz, amelyet korábban kaptunk.
Most futtassa a VBA makrót, és a következő kimenetet fogja látni:
Mint látható, a VBA-kódunk hozzáadja az első eredményt és a képlet automatikus kitöltését az Excel utolsó sorához.
Bővebben: Hogyan töltse ki az utolsó sorig az Excel-adatokat az Excelben
2. VBA automatikus kitöltés az ActiveCellből az utolsó sorba
Most, ha nem akarja használni az adott tartományt az automatikus kitöltési módszerben, használhatja az aktív cella értékeit, képleteit vagy formázásait. Ha egy cellára kattint, és a többi sort az aktív cella képletével szeretné automatikusan kitölteni, használja ezt a módszert.
Az előző példához hasonlóan az előző adathalmazt használjuk:
Most hozzáadjuk a januári és februári eladásokat, és az Excel VBA segítségével automatikusan kitöltjük a képletet az utolsó sorba.
Most írja be a következő kódot:
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: Visszaadja az utolsó használt sort a B oszlopból. Bármelyik oszlopot kiválaszthatja az adatállományból.
ActiveCell.Formula = "=SUM(C5:D5)": Hozzáadjuk a következő eladásokat C5 sejt és D5 a kiválasztott cellában.
ActiveCell.AutoFill Cél:=Range(ActiveCell.Address & ":E" & last_row): Miután megkaptuk az eredményt, használjuk az automatikus kitöltést. Elkezdi az automatikus kitöltést az aktív cellától az előzőleg kapott utolsó használt sorig.
Most válassza ki a E5 cella .
Ezután futtassa a VBA makrót a képlet és az automatikus kitöltés hozzáadásához az utolsó sorhoz.
Mint látható, sikeresen használtuk a VBA makrót a képlet automatikus kitöltésére az utolsó sorig.
Hasonló olvasmányok
- Hogyan ismételje meg a sorokat meghatározott számú alkalommal az Excelben (4 módja)
- Sorok automatikus számozása az Excelben (8 módszer)
- Hogyan töltse ki az oszlopot az Excelben ugyanazzal az értékkel (9 trükkök)
- Alkalmazza az automatikus kitöltés parancsikont az Excelben (7 módszer)
3. Automatikus kitöltés az utolsó sorba a dinamikus tartomány használatával az Excel VBA-val
Korábban mutattunk néhány VBA-makrót az Excel utolsó sorának automatikus kitöltéséhez. Nos, ezekben a példákban már dinamikus tartományokat használtunk.
A statikus tartományok megértéséhez nézze meg a következő kódot:
Sub last_used_row() Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Destination:=Range("E5:E11") End Sub
Alapvetően azt mondtuk az Excelnek, hogy írjon be egy képletet a E5 cella és automatikusan töltse ki a E5 cella a címre. E11-es cella Itt megadtuk a tartományt. Mi van, ha több sort adunk hozzá? Ebben az esetben a VBA nem fogja automatikusan kitölteni ezeket az extra sorokat, mivel már megmondtuk neki, hogy egy adott tartományt töltsön ki.
Ennek a problémának a megoldására olyan megoldást találtam ki, amely képes dinamikus tartományt venni:
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
Mint látható, először az utolsó sort keressük meg ezzel a kódsorral:
last_row = Cells(Rows.Count, 2).End(xlUp).Row
Ezután automatikusan kitöltjük az utolsó sorig a dinamikus tartományt használva:
Range("E5").AutoFill Destination:=Range("E5:E" & last_row)
Nem számít, hány sort adsz hozzá az adatállományodhoz, ez a VBA-kód sikeresen azonosítja őket. És automatikusan kitölti őket a képlettel.
A dinamikus tartomány lényegében azt jelenti, hogy nem kell manuálisan megadni a tartományt. Az Excel időről időre frissíti azt.
Bővebben: Excel VBA: A tartományosztály automatikus kitöltési módszere nem sikerült
4. Automatikus kitöltés az utolsó oszlopra az Excelben a VBA használatával
Ha elolvasta az előző szakaszokat az utolsó sor automatikus kitöltéséhez, akkor az utolsó oszlop automatikus kitöltését is könnyen elvégezheti. Csak meg kell találnia az utolsó oszlop számát, és az Excel VBA-val automatikusan ki kell töltenie.
Vessen egy pillantást a következő adatkészletre:
Itt van egy adatkészletünk, amely egy személy 3 havi költségvetését képviseli. Most az Excel VBA segítségével összeadjuk az összes hónap kiadásait, és automatikusan kitöltjük a képletet az utolsó oszlopba.
Most írja be a következő kódot:
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: Visszaadja az utoljára használt oszlopot a sorból 6. Bármelyik sort kiválaszthatja az adatállományból.
Range("D9").Formula = "=SUM(D6:D8)": Hozzáadjuk a költségeket három hónap (január, február, március).
Range("D9").AutoFill Cél:=Range("D9", Cells(9, last_column)): Miután megkaptuk az eredményt, használjuk az automatikus kitöltést. Itt a fő sorunk a 9. sor. Az összes adatunk ebben a sorban lesz. Az automatikus kitöltés az alábbi oszlopoktól kezdődik. D az utoljára használt oszlophoz, amelyet korábban a last_column .
A makró futtatása után a következő kimenetet látja:
Mint látható, sikeresen használtuk a VBA-t a képlet automatikus kitöltésére az Excel utolsó oszlopában.
Bővebben: Hogyan lehet automatikusan kitölteni egy oszlopot az Excelben?
5. AutoFill sorszámok automatikus kitöltése az Excel utolsó sorába a VBA használatával
A VBA automatikus kitöltési funkciójával a sorszámok automatikus kitöltését is elvégezhetjük. Itt a következőt kell használnunk xlFillSeries az automatikus kitöltés típusában. Az Excel megérti a mintát, és kitölti őket.
Nézze meg az alábbi képernyőképet:
Itt van néhány nevünk. És szeretnénk nekik egy azonosítót adni sorrendben. Ehhez a VBA automatikus kitöltést fogjuk használni.
Folyamatos számok automatikus kitöltése statikus tartományban:
Sub sequential_number_2() Range("C5").AutoFill Destination:=Range("C5:C11"), Type:=xlFillSeries End Sub
A kód futtatása után a kimenetet láthatja:
Ha a dinamikus tartományt szeretné használni, akkor használja a következő kódot:
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: Visszaadja a B oszlop utolsó használt sorát.
Range("C5").AutoFill Destination:=Range("C5:C" & last_row), Type:=xlFillSeries: A program a következő azonosítót veszi fel C5 sejt és automatikusan kitölti az oszlop utolsó használt sorát. C a xlFillSeries ,
Mindkét esetben ugyanazt a kimenetet kapja:
Amint láthatja, sikeresen használtuk a VBA kódot a sorszámok automatikus kitöltésére az Excelben.
Bővebben: Excel képletek a sorszámok kitöltéséhez Sorozatszámok kihagyása rejtett sorok kihagyásához
💬 Emlékezetes dolgok
✎ Megteheti az automatikus kitöltés leállítása Különböző módokon, ha nem akarod. .
✎ Több sort és oszlopot nem tud egyszerre automatikusan kitölteni. Egyenként végezze el a kitöltést.
Következtetés
Végezetül remélem, hogy ez a bemutató hasznos ismereteket nyújtott Önnek a képlet automatikus kitöltéséhez az utolsó sorba a VBA kódok segítségével. Javasoljuk, hogy tanulja meg és alkalmazza ezeket az utasításokat az adatállományára. Töltse le a gyakorlati munkafüzetet és próbálja ki ezeket. Továbbá, bátran adjon visszajelzést a megjegyzés rovatban. Az értékes visszajelzései motiválnak minket, hogy olyan bemutatókat hozzunk létre, mint aez.
Ne felejtse el megnézni weboldalunkat Exceldemy.com különböző Excelhez kapcsolódó problémák és megoldások.
Tanulj folyamatosan új módszereket és fejlődj!