Formules in een celbereik invoeren met VBA-macro's

Anonim

Hier leest u hoe u een macro gebruikt om een celbereik in te vullen met een formule naar keuze

Door de functie Automatisch aanvullen te kopiëren of te gebruiken, biedt Excel u veel opties voor het overbrengen van formules van een cel naar een celbereik. Maar hoe doe je dat via een macro?

Dit is vooral handig als u automatisch tabellen of lijsten wilt maken met behulp van een macro. Hier heb je een manier nodig om cellen met formules te vullen.

De volgende afbeelding toont een lijst met bedrijfsnummers. Je wilt somfuncties toevoegen in kolom D van deze lijst waarmee de waarden uit kolommen A, B en C worden opgeteld.

Gebruik een VBA-macro om deze taak uit te voeren. Open eerst de werkmap waarin u de macro wilt opnemen. Druk vervolgens op de toetsencombinatie ALT F11 om de VBA-editor te starten. Selecteer vervolgens de functie INSERT - MODULE. Voer vervolgens de volgende macro in:

SubsummenPerMakro ()
Dim cel als bereik
Dim Nr Zo Lang
Voor elke cel in ActiveSheet.Range ("d2: d10")
Nee = Cell.Rij
Cell.FormulaLocal = "= SOM (A" & Nr & ": C" & Nr & ")"
Volgende cel
Einde sub

De Marko verwerkt het celbereik D2:D10 in het actieve werkblad. De cellen worden cel voor cel doorgelust. De macro gebruikt de eigenschap FORMULALOCAL om in elk van deze cellen een somformule in te voeren.

In deze formule worden de gebieden die worden toegevoegd in elke regel aangepast. In regel 2 is dit A2: C2, in regel 3 is dit A3: C3 enz.

De formule doet dit door de variabele NR te gebruiken om het huidige regelnummer binnen de lus op te vragen met behulp van de ROW-eigenschap. De macro stelt vervolgens geleidelijk de somformule samen uit de afzonderlijke tekstcomponenten.

De volgende afbeelding toont het resultaat na het starten van de macro. Gebruik om te beginnen de toetsencombinatie ALT F8 in Excel en selecteer de macro SUMMENPERMAKRO.

Er zijn ook andere manieren om het werk via een macro te doen. Een variant is om de macro te gebruiken om de formule in slechts één cel in te voeren en deze vervolgens te kopiëren zodat Excel de verwijzingen onafhankelijk kan aanpassen.