Automatisk udfyldning af formel til sidste række med Excel VBA (5 eksempler)

  • Del Dette
Hugh West

Hvis du har arbejdet med Microsoft Excel i et stykke tid, kender du vigtigheden af AutoFill. For at kopiere en formel på tværs af rækken eller kolonnen bruger vi denne metode. Nu kan vi bruge dette manuelt med musen. Men hvis du har en stor række med data, vil det være svært at kopiere en formel til den sidste række eller kolonne. Du kan bruge VBA-koden til at AutoFill en formel til den sidste række eller kolonne medlethed.

I denne tutorial lærer du at AutoFill en formel til den sidste række i Excel ved hjælp af VBA-koder. Denne tutorial vil være præcis med passende eksempler og gode illustrationer. Så bliv hos os.

Download arbejdsbog til øvelser

Autofill formel til sidste række.xlsm

Hvad er automatisk udfyldning i Excel?

Autofill er en indbygget funktion i Microsoft Excel, der giver brugerne mulighed for automatisk at udfylde resten af rækker eller kolonner med værdier, formater eller formler. Du kan identificere den, når du fører markøren til det nederste højre hjørne af en celle. Vi kalder det Excel's autofill-håndteringsprogram for autofill.

Tag et kig på følgende skærmbillede:

Her kan du se to tal. Vi udfylder resten af rækkerne ved hjælp af den automatiske udfyldning i Excel.

Først skal du vælge området B5:B6. Derefter kan du se håndtaget for automatisk udfyldning i højre nederste hjørne.

Træk nu dette håndtag til automatisk udfyldning nedad.

Som du kan se, har Excel automatisk udfyldt resten af cellerne. Dette er den grundlæggende brug af automatisk udfyldning i Excel.

Sådan bruges AutoFill med Excel VBA

Hvis du har et stort antal rækker eller kolonner i et givet område, skal du trække håndtaget til automatisk udfyldning ned til den sidste række eller kolonne. Det er en meget hektisk proces. Heldigvis kan du minimere den ved hjælp af VBA-koder i Excel. Du kan bruge VBA-koden til automatisk udfyldning af cellerne med værdier, formler eller formater.

Den generiske syntaks:

Range.AutoFill Destination, Type

Her,

Range("B5"): Den celle, der har hovedmønstret til at udfylde resten af serien.

Destination: Område af celler, hvor du vil udfylde med mønsterserien.

Type som xlAutoFillType: Serieudfyldningstype. Du kan vælge mellem forskellige typer automatisk udfyldning.

Læs mere: Sådan bruges VBA AutoFill i Excel

4 typer af automatisk udfyldning i Excel VBA

I dette afsnit vil jeg diskutere nogle af de forskellige typer af autofill. Vi har allerede set, at vi kan vælge en hvilken som helst type autofill ved hjælp af xlAutoFillType. Her viser jeg dig nogle eksempler på det.

1. xlFillDefault

Vi har allerede set denne type automatisk udfyldning i det foregående eksempel.

Tag et kig på skærmbilledet:

Indtast følgende VBA-kode for automatisk udfyldelse af resten af cellerne:

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

Kør nu VBA-makroen, og herefter vil du se følgende:

Den udfylder automatisk resten af cellerne ved hjælp af en VBA-makro.

2. xlFillCopy

For at kopiere de samme værdier kan du bruge typen xlFillCopy i den automatiske udfyldningstype.

Tag et kig på skærmbilledet:

Indtast følgende VBA-kode for automatisk udfyldelse af resten af cellerne:

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

Kør nu VBA-makroen, og herefter vil du se følgende:

Excel udfylder resten af cellerne med det samme mønster af værdier.

3. xlFillMonths

Du kan også udfylde måneder ved hjælp af xlFillMonths autofill type.

Tag et kig på skærmbilledet:

Her har vi indtastet to måneder, januar og februar.

Indtast følgende VBA-kode for automatisk udfyldelse af resten af cellerne:

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

Kør nu VBA-makroen, og herefter vil du se følgende:

Excel forstår automatisk mønstrene og udfylder dem med dem.

4. xlFillFormats

Du kan også kopiere formater til andre celler ved hjælp af VBA autofill. Du skal bruge xlFillFormats autofill type.

Tag et kig på skærmbilledet:

Her har vi fyldt de to celler med nogle farver.

Indtast nu følgende VBA-kode for automatisk udfyldelse af resten af cellerne:

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

Kør nu VBA-makroen, og herefter vil du se følgende:

Som du kan se, bruger vores VBA-makro autofill til at udfylde rækkerne i kolonne B effektivt.

Læs mere: Sådan AutoFill måneder i Excel

5 eksempler med AutoFill formel til sidste række i Excel VBA

1. VBA til automatisk udfyldning af en formel til den sidst anvendte række

På samme måde kan du automatisk udfylde en formel ved hjælp af VBA.Hvis du har læst de foregående afsnit, kan du nemt udføre dette. Problemet opstår, når du skal automatisk udfylde formlen til den sidste række. Du skal først identificere den sidst anvendte række. Derefter vil VBA-koden automatisk udfylde dem.

Tag et kig på følgende datasæt:

Her har vi et datasæt om salg for nogle sælgere. Vores mål er at tilføje salget i januar og februar til kolonnen Total. Derefter vil vi bruge autofillmetoden ved hjælp af VBA til den sidst anvendte række i Excel.

For at udføre dette skal du skrive følgende kode:

 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: Den returnerer den sidst anvendte række fra kolonne B. Du kan vælge en hvilken som helst kolonne fra dit datasæt.

Range("E5").Formula = "=SUM(C5:D5)": Vi tilføjer salget af Celle C5 og D5.

Range("E5").AutoFill Destination:=Range("E5:E" & last_row): Når vi har fået resultatet, bruger vi autofill. Den starter automatisk udfyldning fra Celle E5 til den sidst anvendte række, som vi fik tidligere.

Kør nu VBA-makroen. Derefter vil du se følgende output:

Som du kan se, tilføjer vores VBA-kode det første resultat og autofill formlen til den sidste række i Excel.

Læs mere: Sådan udfyldes ned til sidste række med data i Excel

2. VBA AutoFill fra ActiveCell til sidste række

Hvis du ikke ønsker at bruge et bestemt område i metoden til automatisk udfyldning, kan du bruge den aktive celles værdier, formler eller formater. Når du klikker på en celle og ønsker at foretage automatisk udfyldning af resten af rækkerne med den aktive celles formel, skal du bruge denne metode.

Det svarer til det foregående eksempel, idet vi bruger det tidligere datasæt:

Nu vil vi tilføje salget i januar og februar og autofylde formlen i den sidste række ved hjælp af Excel VBA.

Indtast nu følgende kode:

 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: Den returnerer den sidst anvendte række fra kolonne B. Du kan vælge en hvilken som helst kolonne fra dit datasæt.

ActiveCell.Formula = "=SUM(C5:D5)": Vi tilføjer salget af Celle C5 og D5 i den valgte celle.

ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & ":E" & last_row): Når vi har fået resultatet, bruger vi den automatiske udfyldning, som starter automatisk udfyldning fra den aktive celle til den sidst anvendte række, som vi fik tidligere.

Vælg nu Celle E5 .

Derefter skal du køre VBA-makroen for at tilføje formlen og den automatiske udfyldning til den sidste række.

Som du kan se, er det lykkedes os at bruge VBA-makroen til automatisk at udfylde formlen til den sidste række.

Lignende læsninger

  • Sådan gentages rækker et angivet antal gange i Excel (4 måder)
  • Nummerér rækker automatisk i Excel (8 metoder)
  • Sådan udfylder du kolonne i Excel med samme værdi (9 tricks)
  • Anvend genvej til automatisk udfyldning i Excel (7 metoder)

3. Automatisk udfyldning til sidste række ved hjælp af dynamisk rækkevidde med Excel VBA

Tidligere viste vi dig nogle VBA-makroer til automatisk udfyldning til den sidste række i Excel. I disse eksempler brugte vi allerede dynamiske intervaller.

For at forstå statiske intervaller skal du se på følgende kode:

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

Vi har grundlæggende bedt Excel om at indtaste en formel i Celle E5 og udfylde den automatisk fra Celle E5 til Celle E11 Her har vi angivet intervallet. Hvad hvis du tilføjer flere rækker? I så fald vil vores VBA ikke udfylde de ekstra rækker automatisk, fordi vi allerede har bedt den om at udfylde et bestemt interval automatisk.

For at løse dette problem har jeg fundet en løsning, der kan tage et dynamisk område:

 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 

Som du kan se, finder vi først den sidste række ved hjælp af denne kodelinje:

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

Derefter udfylder vi automatisk den sidste række ved hjælp af det dynamiske område:

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

Uanset hvor mange rækker du tilføjer til dit datasæt, vil det lykkes denne VBA-kode at identificere dem, og den vil automatisk udfylde dem med formlen.

Dynamisk interval betyder grundlæggende, at du ikke behøver at indtaste intervallet manuelt. Excel opdaterer det fra tid til anden.

Læs mere: Excel VBA: Autofill-metoden for Range Class mislykkedes

4. Automatisk udfyldning til sidste kolonne i Excel ved hjælp af VBA

Hvis du har læst de foregående afsnit om automatisk udfyldning til den sidste række, kan du også nemt automatisk udfyldning til den sidste kolonne. Du skal bare finde det sidste kolonnetal og automatisk udfylde det med Excel VBA.

Tag et kig på følgende datasæt:

Her har vi et datasæt, der repræsenterer en persons budget for tre måneder. Nu vil vi tilføje udgifterne for alle månederne og automatisk udfylde formlen i den sidste kolonne ved hjælp af Excel VBA.

Indtast nu følgende kode:

 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: Den returnerer den sidst anvendte kolonne fra række 6. Du kan vælge en hvilken som helst række til at starte fra dit datasæt.

Range("D9").Formula = "=SUM(D6:D8)": Vi tilføjer udgifterne til tre måneder (januar, februar, marts).

Range("D9").AutoFill Destination:=Range("D9", Cells(9, last_column)): Når vi har fået resultatet, bruger vi den automatiske udfyldning. Her er vores hovedrække række nummer 9. Alle vores data vil være i denne række. Den begynder automatisk udfyldning fra kolonne D til den sidst anvendte kolonne, som vi tidligere fik ved hjælp af sidste_kolonne .

Når du har kørt makroen, får du følgende output:

Som du kan se, er det lykkedes os at bruge VBA til automatisk at udfylde formlen i den sidste kolonne i Excel.

Læs mere: Sådan autofyldes en kolonne i Excel

5. Automatisk udfyldning af fortløbende numre til sidste række i Excel ved hjælp af VBA

Du kan også autofylde fortløbende numre ved hjælp af autofill i VBA. Her skal du bruge xlFillSeries Excel forstår mønstret og udfylder dem med det.

Se følgende skærmbillede:

Her har vi nogle navne, og vi ønsker at give dem et ID på en sekventiel måde. For at gøre dette vil vi bruge VBA autofill.

Automatisk udfyldelse af sekventielle numre med statisk rækkevidde:

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

Når du har kørt koden, vil du se resultatet:

Hvis du ønsker at bruge det dynamiske område, skal du bruge følgende kode:

 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: Den returnerer den sidst anvendte række fra kolonne B.

Range("C5").AutoFill Destination:=Range("C5:C" & last_row), Type:=xlFillSeries: Den vil tage ID af Celle C5 og automatisk udfylde til den sidst anvendte række i kolonne C ved hjælp af xlFillSeries ,

I begge tilfælde vil du få det samme resultat:

Som du kan se, har vi med succes brugt VBA-koden til automatisk udfyldelse af fortløbende numre i Excel.

Læs mere: Excel-formler til at udfylde sekvensnumre Spring skjulte rækker over

💬 Ting, du skal huske

Du kan stoppe autofill på forskellige måder, hvis du ikke ønsker det .

Du kan ikke udfylde flere rækker og kolonner automatisk på samme tid. Du skal gøre det en efter en.

Konklusion

Afslutningsvis håber jeg, at denne tutorial har givet dig et stykke nyttig viden om at autofylde formlen til den sidste række ved hjælp af VBA-koder. Vi anbefaler, at du lærer og anvender alle disse instruktioner på dit datasæt. Download arbejdsbogen til øvelser og prøv selv. Du er også velkommen til at give feedback i kommentarfeltet. Din værdifulde feedback holder os motiveret til at skabe tutorials somdette.

Glem ikke at tjekke vores websted Exceldemy.com til forskellige Excel-relaterede problemer og løsninger.

Bliv ved med at lære nye metoder, og bliv ved med at vokse!

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.