Summera cellområden i Excel med VBA: Dynamiska makron

Först publicerad:

| © ExcelKungen.com

Introduktion till summering av cellområden i vba

Att summera ett cellområde i Excel är en enkel uppgift för de flesta användare. Men när det kommer till att göra detta i med makron VBA (Visual Basic for Applications) kan det bli lite mer komplicerat. Men det finns enkla sätt att summera variabla cellområden med lite enkel VBA-kod.

Varför använda variabla cellområden?

När du programmerar i VBA kan du ibland behöva summera celler vars positioner inte är förutbestämda. I sådana situationer är det nödvändigt att använda en variabel för att definiera cellområdet. Denna teknik ger dig möjlighet att skapa mer dynamiska och flexibla makron.

Summering med excelfunktioner i VBA

Excel har en inbyggd SUM-funktion som gör det enkelt att summera celler i ett kalkylblad. Tyvärr finns det ingen direkt motsvarighet för detta i VBA, men turligt nog det finns sätt att använda Excels kalkylbladsfunktioner genom att anropa dem från VBA-koden.

Exempel på hur du använder Excelfunktioner i VBA

Låt oss säga att du har ett område som kallas varOmrade och du vill summera det. Du kan använda följande kod för att utföra summeringen:

Application.WorksheetFunction.Sum(varOmrade)

Genom att använda den här formuleringen kan du anropa vilken av Excels kalkylbladsfunktioner som helst så länge du inleder med de magiska orden:

Application.WorksheetFunction...

Exempel på summering av variabla cellområden

Nedan går vi igenom två lösningar för att summera ett variabelt cellområde i VBA.

Lösning 1: Skriva ut summan direkt i en cell

I det här exemplet kommer vi att summera värdena i cellområdet C3:C8 och skriva ut summan i cell A1.

' Definiera cellområdet som skall summeras
varSumma = Range(Cells(3, 3), Cells(8, 3))

'Summera cellområdet och skriv ut summan i cell A1
Cells(1, 1) = Application.WorksheetFunction.Sum(varSumma)
En tabell i Excel som vi vill att vårt makro skall summera från.
En tabell i Excel som vi vill att vårt makro skall summera från.

Lösning 2: Skriva summan till en vba-variabel

Denna lösning ger större flexibilitet, eftersom summan lagras i en variabel (strSumma) och kan användas för ytterligare beräkningar.

' Definiera cellområdet som skall summeras
varSumma = Range(Cells(3, 3), Cells(8, 3))

'Summera cellområdet och spara summan i en variabel
strSumma = Application.WorksheetFunction.Sum(varSumma)

Avslutande tankar

Att summera variabla cellområden med Application.WorksheetFunction i VBA är en kraftfull teknik som kan förenkla ditt arbete med Excel. Genom att använda Excels inbyggda funktioner kan du hantera cellområden dynamiskt och effektivt. Oavsett om du väljer att skriva ut summan direkt i en cell eller lagra den i en variabel, är det viktigt att förstå hur dessa funktioner fungerar för att optimera din programmering i VBA.

Populära artiklar

Dagens tips

Relaterade artiklar