Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fragen zum Rechnen: Summe in VBA

Fragen zum Rechnen: Summe in VBA
Holger,
Hallo,
ich habe gerade ein 'Nebenprojekt' und hier zwei Probleme:
1 Ich habe einen Range definiert von z.B E20 bis E10000.
Wie kann ich per vba die Summe dieses Bereiches ausrechnen
ohne eine Dummy Zelle / Formel zu definieren?
2 Ich muss zusätzlich verschiedene Summe bilden je nach Zellwert.
Es gibt Herbst, Winter und Sommer und ich muss für jeden Wert
die Summe bilden. Ich würde dazu schleifen und mit Select Case nach
diesen Werten abfragen und je nachdem mit SummeHerbst = SummeHerbst + Zellwert rechnen.
Gibt es da was eleganteres oder schnelleres?
Gruß
Holger
Anzeige
AW: Fragen zum Rechnen: Summe in VBA
10.02.2011 13:24:56
Josef

Hallo Holger,
zu 1: Application.Sum(Range("E20:E10000"))
zu 2: wenn "Herbst" z. B. in C20:C10000 steht:
Application.SumIf(Range("C20:C10000"),"Herbst",Range("D20:D10000"))

Gruß Sepp

Anzeige
Hallo Sepp, Dir auch Danke schön! k.t.
10.02.2011 13:38:17
Holger,
AW: Worksheetfunction
10.02.2011 13:25:39
hary
hallo Holger
schau mal in der Hilfe.
Worksheetfunction.sum(..............
Was es als "normale Formel gibt" ist auch unter Worksheetfunction zu finden.
gruss hary
@ Harry, stimmt so nicht!
10.02.2011 13:27:49
Josef

Hallo Harry,
"Was es als "normale Formel gibt" ist auch unter Worksheetfunction zu finden."
Nicht alle Excelfunktionen haben ihre Entsprechung in VBA, und die die es gibt, sind z. T. in der Handhabung etwas anders.

Gruß Sepp

Anzeige
AW: Fragen zum Rechnen: Summe in VBA
10.02.2011 13:26:18
Rudi
Hallo,
1. =Application.Sum(Range("E20:E10000"))
2. wenn in z.B. F20:F10000 'Herbst' etc. steht:
SummeHerbst = Application.SumIf(Range("F20:F10000"), "Herbst", Range("E20:E10000))
Gruß
Rudi
Wie immer: Herzlichen Dank
10.02.2011 13:38:00
Holger,
Hallo Rudi,
ich danke Dir für deine Hilfe.
Darauf wäre ich nicht gekommen und ich bin sicher, das spart einiges
an Code und Laufzeit!!
Gruß
Holger
Anzeige
An Rudi und Sepp: ein Frage noch
10.02.2011 13:51:39
Holger,
Erstmal, es klappt super:
lngTotal = Application.Sum(rngSales)
Nur worauf bezieht sich Application.Sum eigentlich?
Warum ist das nicht auf den Worksheet beschränkt und warum
wird mir Sum nicht im IntelliSense angeboten?
Jetzt brauche ich noch eine Summe.
In der Spalte links von rngSales steht ein integer Wert von 1 - n
Der Wert muss mit diesem Integer wert multipliziert werden und
daraus wiederum die Summe errechnet werden.
Gibt es hier eine besser Möglichkeit als durch den Range zu schleifen
und

cell.value = cell.offset(0,-1) * cell.value 
?
Anzeige
Summenprodukt!
10.02.2011 15:42:21
Rudi
Hallo,
MsgBox Application.SumProduct(rngsales, rngsales.Offset(, -1))
Gruß
Rudi
Noch eine Frage, hier geht was nicht
10.02.2011 14:09:13
Holger,
Hallo,
debug.Print rngbrand.Address
$B$20:$B$17054
debug.print rngsales.Address
$F$20:$F$17054
debug.Print rngdate.Address
$E$20:$E$17054
lngOthers = Application.SumIf(rngBrand, "", rngSales)
Die berechnete Summe von lngOthers ist nicht korrekt.
In rngBrand ist die Others Info, in rngSales stehen die Zahlen.
Hat jemand eine Idee?
Anzeige
Das hat sich erledigt!
10.02.2011 14:15:59
Holger,
Mit *Othe* klappt es, keine Ahnung warum!
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige