VBA AutoFill

Vad gör AutoFill i Excel VBA?

Vi har sett autofyll i kalkylblad där cellerna fylls automatiskt baserat på värdena i de tidigare cellerna ovanför, vi kan använda VBA så att excel gör uppgiften för oss, för att göra detta använder vi Selection.Autofill-metoden och vi tillhandahåller destination dvs upp till vilka celler värdena måste fyllas i.

Den bästa användningen av VBA-autofyllning kommer när vi behöver fylla formeln för den första cellen till cellen i kolumnen. Vi använder vanligtvis formeln i den första cellen antingen vi kopierar och klistrar in i den sista cellen eller så fyller vi bara automatiskt genom att dubbelklicka på den lilla piltangenten. Ett annat bästa exempel på att använda autofyll i Excel är när vi behöver infoga serienummer. Vi skriver vanligtvis de tre första siffrorna och sedan drar vi ner till den sista cellen som krävs.

Även i VBA kan vi utföra uppgiften med AutoFill-metoden. I den här artikeln visar vi dig hur vi kan använda autofyllmetoden och sätt att skriva koden på. Nu ska vi se hur vi kan använda detta verktyg i VBA-kodning.

Hur använder jag Autofyll i VBA?

För att använda autofyll i VBA måste vi förstå syntaxen för autofyllmetoden. Nedan visas syntaxen för autofyllningen.

  • Område (“A1”): Vilka celler identifierar mönstret i fyllningsserien.
  • Destination: Till vilken cell du vill fortsätta fylla seriemönstret. Här måste vi nämna hela cellområdet.
  • Skriv som xlAutoFillType: Här kan vi välja typ för seriefyllning . Nedan är listan över objekt i denna parameter - xlFillCopy, xlFillDays, xlFillDefault, xlFillFormats, xlFillMonths, xlFillSeries, xlFillValues, xlFillWeekdays, xlFillYears, xlFlashFill, xlGrowthTrend, xlFillYears, xlFlashFill, xlGrowthTrend.

Exempel på autofyll i Excel VBA

Låt oss se några enkla till avancerade exempel på VBA AutoFill i Excel.

Exempel # 1 - xlFillDefault

Ange först 3 serienummer i de tre första cellerna.

I VBA-delproceduren nämner du VBA-intervallet som Range (“A1: A3”)

Koda:

Sub AutoFill_Example1 () Range ("A1: A3"). Avsluta sub

Gå nu till AutoFill-metoden.

Ange destinationen som intervall (“A1: A10”)

Koda:

Område ("A1: A3"). Destination för automatisk fyllning: = Område ("A1: A10") 

Välj typ som xlFillDefault .

Koda:

Område ("A1: A3"). Destination för automatisk fyllning: = Område ("A1: A10"), Typ: = xlFillDefault 

Kör nu koden så får vi serienumren från 1 till 10.

Eftersom vi nämnde slutdestinationcellen som A10 har den stannat där, kan vi ange målcellen som den sista cellen i excel.

Exempel # 2 - xlFillCopy

För samma siffror använder vi typen som xlFillCopy.

Koda:

 Sub AutoFill_Example1 () Range ("A1: A3"). AutoFill Destination: = Range ("A1: A10"), Type: = xlFillCopy End Sub 

Jag har kopian av de tre första cellerna till de återstående cellerna.

Exempel # 3 - xlFillMonths

För detta exempel har jag skrivit in de första tre månaderna i de tre första cellerna.

Ändra autofylltypen till xlFillMonths.

Koda:

 Sub AutoFill_Example1 () Range ("A1: A3"). AutoFill Destination: = Range ("A1: A10"), Type: = xlFillMonths End Sub 

Detta kommer att fylla månadsserien.

Exempel # 4 - xlFillFormats

För det här exemplet har jag angett siffror och tillämpat formatering på dessa celler.

Nu ändrar jag typen till xlFillFormats.

Koda:

 Sub AutoFill_Example1 () Range ("A1: A3"). AutoFill Destination: = Range ("A1: A10"), Type: = xlFillFormats End Sub 

Kör den här koden och se vad som händer.

Den har fyllt format för de tre första cellerna till de nästa tre cellerna och igen de tre nästa cellerna och så vidare.

Exempel # 5 - xlFlashFill

För detta exempel har jag angett några värden från cell A1 till A10 som visas i bilden nedan.

Från den här listan vill jag extrahera den numeriska delen. För att berätta excel om mönstret kommer jag i den första cellen att manuellt ange den numeriska delen av den första cellen.

Nu ska jag skriva koden som vanligt och ändra typen till xlFlashFill. Den här gången använder vi B-kolumnområdet.

Koda:

 Sub AutoFill_Example1 () Range ("B1"). AutoFill Destination: = Range ("B1: B10"), Type: = xlFlashFill End Sub 

Om jag kör den här koden får vi resultatet som nedan.

Det här är översikten över VBA AutoFill-metoden. Hoppas du har haft det.

Du kan ladda ner denna VBA AutoFill Excel-mall härifrån - VBA AutoFill Excel-mall