Summe ermitteln mit VBA

Hallo Leute,

ich möchte aus einer Spalte in Excel in VBA die Summe ermitteln lassen (wie bei der Excel-Formel =SUMME() ). Habe dabei aber Tabellen mit unterschiedlichen Zeilenzahlen. Die Anzahl ermittle ich auch per VBA, und schreibe sie dann z.B.in die Variable „anz“. Wie kann ich nun in VBA an Hand von anz die Summe z.B. in Spalte B errechnen lassen? Habe nirgendwo eine Lösung dafür gefunden, und auch das Aufzeichnen eines Makros bringt mich hier nicht weiter! Vielen Dank schon mal - Bernhard

Hallo Bernhard,

das ist nicht allzu schwierig:

for i = 1 to anz
z$=„B“ & i
summe = summe + range(z$).value
next i

Gruß
Mathias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Bernhard,

was hältst Du von dieser Funktion?

Function Spaltensumme(Startzeile, Spalte, Anzahl)
 For i = Startzeile to Startzeile + Anzahl
 Spaltensumme = Spaltensumme + Cells(i, Spalte).Value
 Next i
End Function

Das Ganze rufst Du z. B. mit Ergebnis = Spaltensumme(1,2,15) in Deinem Code auf, wenn Du die Summe von „B1“ bis „B15“ haben willst.

Ciao

Uwe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Schnellste Methode: Sum
Hi Bernhard,

hier die einfachste und schnellste Methode:

Cells(1, 1) = Application.WorksheetFunction.Sum(Range(, )),

wobei und den Bereich einschließen, über den summiert werden soll, etwa:

Cells(1, 1) = Application.WorksheetFunction.Sum(Range(Cells(1,2), Cells(anz,2)))

summiert von B1 bis B und schreibt das Ergebnis in A1.
Grundsätzlich kannst Du viele Excel-Funktionen mittels Worksheetfunction.Engl.Funktionsname in VBA verwenden.

Viele Grüße
Sculpture

ich möchte aus einer Spalte in Excel in VBA die Summe
ermitteln lassen (wie bei der Excel-Formel =SUMME() ). Habe
dabei aber Tabellen mit unterschiedlichen Zeilenzahlen. Die
Anzahl ermittle ich auch per VBA, und schreibe sie dann z.B.in
die Variable „anz“.

Hi,
vielen Dank für den Tipp, hat hervorragend funktioniert - genau das, was ich gesucht habe! Danke.