VBA automatisch aanvullen

Wat doet automatisch aanvullen in Excel VBA?

We hebben autofill gezien in het werkblad waar de cellen automatisch worden gevuld op basis van de waarden in de vorige cellen erboven, we kunnen VBA gebruiken zodat Excel de taak voor ons doet, hiervoor gebruiken we de Selection.Autofill-methode en we bieden de bestemming dwz tot welke cellen de waarden moeten worden gevuld.

Het beste gebruik van VBA-autofill is wanneer we de formule van de eerste cel moeten vullen in de cel van de kolom. We passen de formule meestal toe in de eerste cel, ofwel kopiëren en plakken we naar de laatste cel of vullen we gewoon automatisch in door te dubbelklikken op de kleine pijltoets. Een ander goed voorbeeld van het gebruik van automatisch aanvullen in Excel is wanneer we serienummers moeten invoegen. Meestal typen we de eerste drie cijfers en slepen we naar beneden tot de vereiste laatste cel.

Ook in VBA kunnen we de taak van de AutoFill-methode uitvoeren. In dit artikel laten we u zien hoe we de methode voor automatisch aanvullen kunnen gebruiken en manieren om de code te schrijven. Nu zullen we zien hoe we deze tool kunnen gebruiken bij VBA-codering.

Hoe AutoFill in VBA te gebruiken?

Om automatisch aanvullen in VBA te gebruiken, moeten we de syntaxis van de automatisch aanvullen-methode begrijpen. Hieronder vindt u de syntaxis van het automatisch aanvullen.

  • Bereik ("A1"): wat zijn de cellen om het patroon van de vulreeks te identificeren.
  • Bestemming: tot welke cel u het patroon van de vulreeks wilt voortzetten. Hier moeten we het volledige celbereik noemen.
  • Typ als xlAutoFillType: Hier kunnen we het type serieopvulling selecteren. Hieronder vindt u de lijst met items in deze parameter: xlFillCopy, xlFillDays, xlFillDefault, xlFillFormats, xlFillMonths, xlFillSeries, xlFillValues, xlFillWeekdays, xlFillYears, xlFlashFill, xlGrowthTrend, xl.

Voorbeelden van automatisch aanvullen in Excel VBA

Laten we eens kijken naar enkele eenvoudige tot geavanceerde voorbeelden van VBA AutoFill in Excel.

Voorbeeld # 1 - xlFillDefault

Voer eerst drie serienummers in de eerste drie cellen in.

Vermeld in de VBA-subprocedure het VBA-bereik als Bereik ("A1: A3")

Code:

Sub AutoFill_Example1 () Bereik ("A1: A3"). Einde Sub

Ga nu naar de AutoFill-methode.

Voer de bestemming in als Bereik ("A1: A10")

Code:

Bereik ("A1: A3"). Bestemming voor automatisch aanvullen: = Bereik ("A1: A10") 

Selecteer het Type als xlFillDefault .

Code:

Bereik ("A1: A3"). Bestemming voor automatisch aanvullen: = Bereik ("A1: A10"), Type: = xlFillDefault 

Voer nu de code uit, we krijgen de serienummers van 1 tot 10.

Omdat we de eindbestemmingscel A10 noemden, is het daar gestopt, kunnen we de bestemmingscel invoeren als de laatste cel van het Excel.

Voorbeeld # 2 - xlFillCopy

Voor dezelfde nummers gebruiken we het type als xlFillCopy.

Code:

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

Ik heb de kopie van de eerste drie cellen naar de overige cellen.

Voorbeeld # 3 - xlFillMonths

Voor dit voorbeeld heb ik de eerste drie maanden in de eerste drie cellen ingevoerd.

Wijzig het type automatisch aanvullen in xlFillMonths.

Code:

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

Dit vult de maandreeks.

Voorbeeld # 4 - xlFillFormats

Voor dit voorbeeld heb ik getallen ingevoerd en opmaak op die cellen toegepast.

Nu zal ik het type wijzigen in xlFillFormats.

Code:

 Sub AutoFill_Example1 () Bereik ("A1: A3"). AutoFill-bestemming: = Bereik ("A1: A10"), Type: = xlFillFormats End Sub 

Voer deze code uit en kijk wat er gebeurt.

Het heeft de formaten van de eerste drie cellen tot de volgende drie cellen gevuld en opnieuw de volgende drie cellen, enzovoort.

Voorbeeld # 5 - xlFlashFill

Voor dit voorbeeld heb ik een paar waarden ingevoerd van cel A1 tot A10, zoals weergegeven in de onderstaande afbeelding.

Uit deze lijst wil ik het numerieke gedeelte extraheren. Om Excel over het patroon te vertellen, zal ik in de eerste cel handmatig het numerieke deel van de eerste cel invoeren.

Nu zal ik de code zoals gewoonlijk schrijven en het type wijzigen in xlFlashFill. Deze keer gebruiken we het B-kolombereik.

Code:

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

Als ik deze code uitvoer, krijgen we het resultaat zoals hieronder.

Dit is het overzicht van de VBA AutoFill-methode. Ik hoop dat je er van genoten hebt.

U kunt deze VBA AutoFill Excel-sjabloon vanaf hier downloaden - VBA AutoFill Excel-sjabloon