Ange formler i ett cellintervall med hjälp av VBA -makron

Innehållsförteckning

Så här använder du ett makro för att fylla i ett cellområde med en valfri formel

Genom att kopiera eller använda funktionen Autofyll ger Excel dig många alternativ för att överföra formler från en cell till ett cellintervall. Men hur gör du det genom ett makro?

Detta är särskilt användbart om du vill skapa tabeller eller listor automatiskt med hjälp av ett makro. Här behöver du ett sätt att fylla celler med formler.

Följande bild visar en lista över företagsnummer. Du vill lägga till summa funktioner i kolumn D i den här listan som värdena från kolumnerna A, B och C läggs till.

Använd ett VBA -makro för att göra det här jobbet. Öppna först arbetsboken där du vill inkludera makrot. Tryck sedan på tangentkombinationen ALT F11 för att starta VBA -redigeraren. Välj sedan funktionen INSERT - MODULE. Ange sedan följande makro:

Sub SummenPerMakro ()
Dim Cell As Range
Dim Nr As Long
För varje cell i ActiveSheet.Range ("d2: d10")
Nej = Cell.Rad
Cell.FormulaLocal = "= SUMMA (A" & Nr & ": C" & Nr & ")"
Nästa cell
Avsluta Sub

Marko bearbetar cellintervallet D2: D10 i det aktiva kalkylbladet. Cellerna slingas genom cell för cell. Makrot använder egenskapen FORMULALOKAL för att ange en summaformel i var och en av dessa celler.

I denna formel justeras de områden som läggs till på varje rad. På rad 2 är det A2: C2, på rad 3 är det A3: C3 etc.

Formeln gör detta genom att använda variabeln NR för att fråga efter det aktuella radnumret i slingan med ROW -egenskapen. Makrot komponerar sedan gradvis summeringsformeln från de enskilda textkomponenterna.

Följande bild visar resultatet efter att makrot startats. För att starta, använd tangentkombinationen ALT F8 i Excel och välj SUMMENPERMAKRO -makrot.

Det finns också andra sätt att göra jobbet genom ett makro. En variant är att använda makrot för att ange formeln i bara en cell och sedan kopiera den så att Excel kan justera referenserna oberoende.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave