Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Summe mit leeren Zellen

VBA Summe mit leeren Zellen
08.10.2021 07:55:43
Joachim
Hallo,
ich verwende

If Application.Sum(Range("U" & gelb).Value, Range("AJ" & gelb).Value, Range("AV" & gelb).Value * 10, Range("BJ" & gelb).Value) >= 1000000 Then
um die Summe der 4 Zellen zu ermitteln. Leider kann eine oder mehrere leer sein. Um aus leer 0 zu machen, kam ich auf diese Lösung:

Range("Z10").FormulaR1C1 = "=SUM(PRODUCT(R2C21),PRODUCT(R2C36),PRODUCT(R2C48)*10,PRODUCT(R2C62))"
Allerdings will ich die Formel ja nicht in eine Zelle schreiben sondern nur prüfen, ob sie >= 1000000 ist.
Meinetwegen kann die Formel auch eine Variable füllen, die ich dann auf >= 1000000 prüfe.
Gibt es eine geschicktere Lösung, wie ich die Summe der 4 Zellen errechnen kann, auch wenn manche leer sind?
Steh gerade aufm Schlauch.
Gruß
Joachim
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Summe mit leeren Zellen
08.10.2021 08:07:40
Joachim
Hallo,
bin selbst drauf gekommen. Wen's interessiert:

If Application.Sum(WorksheetFunction.Product(Range("U2")), WorksheetFunction.Product(Range("AJ2")), WorksheetFunction.Product(Range("AV2")) * 10, WorksheetFunction.Product(Range("BJ2"))) >= 1000000 Then

Anzeige
AW: VBA Summe mit leeren Zellen
08.10.2021 08:42:37
Daniel
Hi
Leere Zellen dürfen die Summe nicht stören.
Auch Texte werden von der Funktion SUM ignoriert, dh auch Zellen, die wie Leerzellen aussehen aber keine sind (Zellen mit dem Text "", wie es gerne in Formeln verwendet wird), sollten kein Problem sein.
lediglich bei der Multiplikation des Einzelwertes müssen diese Zellen mit Text gesondert behandelt werden.
Wenn die leeren Zellen echte Leerzellen sind, könnte man die 3 Werte, die nicht multipliziert werden, in eine Range zusammenfassen.

IF Worksheetfunction.Sum(Range("U2,AJ2,BJ2"), Range("AV2")*10) > 1000000
sollten die Zellen auch Text enthalten können, dann so, hier muss aber nur die Einzelwertberechnung gesondert behandelt werden:

IF Worksheetfunction.Sum(Range("U2,AJ2,BJ2"), Worksheetfunction.Sum(Range("AV2"))*10) > 1000000
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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