Skriv inn formler i et celleområde ved hjelp av VBA -makroer

Anonim

Slik bruker du en makro til å fylle ut en rekke celler med en formel du ønsker

Ved å kopiere eller bruke AutoFill -funksjonen gir Excel deg mange alternativer for å overføre formler fra en celle til et celleområde. Men hvordan gjør du det gjennom en makro?

Dette er spesielt nyttig hvis du vil lage tabeller eller lister automatisk ved hjelp av en makro. Her trenger du en måte å fylle celler med formler.

Figuren nedenfor viser en liste over virksomhetsnumre. Du vil legge til sumfunksjoner i kolonne D i denne listen som verdiene fra kolonnene A, B og C legges til.

Bruk en VBA -makro for å gjøre denne jobben. Åpne først arbeidsboken der du vil inkludere makroen. Trykk deretter på tastekombinasjonen ALT F11 for å starte VBA -editoren. Velg deretter funksjonen INSERT - MODULE. Skriv deretter inn følgende makro:

Sub SummenPerMakro ()
Dim Cell As Range
Dim Nr As Long
For hver celle i ActiveSheet.Range ("d2: d10")
Nei = Cell.Row
Cell.FormulaLocal = "= SUM (A" & Nr & ": C" & Nr & ")"
Neste celle
Slutt Sub

Markoen behandler celleområdet D2: D10 i det aktive regnearket. Cellene sløyfes gjennom celle for celle. Makroen bruker egenskapen FORMULALOKAL for å angi en sumformel i hver av disse cellene.

I denne formelen justeres områdene som legges til på hver linje. På linje 2 er det A2: C2, på linje 3 er det A3: C3 etc.

Formelen gjør dette ved å bruke variabelen NR til å spørre etter det gjeldende linjenummeret i sløyfen ved hjelp av ROW -egenskapen. Makroen komponerer deretter gradvis sumformelen fra de enkelte tekstkomponentene.

Figuren nedenfor viser resultatet etter at du har startet makroen. For å starte, bruk tastekombinasjonen ALT F8 i Excel og velg SUMMENPERMAKRO -makroen.

Det er andre måter å gjøre jobben gjennom en makro også. En variant er å bruke makroen til å angi formelen i bare én celle og deretter kopiere den slik at Excel kan justere referansene uavhengig.