Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1072to1076
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Summenprodukt in VBA

Summenprodukt in VBA
06.05.2009 17:27:07
MBorn
Hallo,
ich erlaube mir diese Frage nochmals zu wiederholen, da sie noch nicht beantwortet
werden konnte:
Ich versuche die Funktion Summenprodukt für VBA umzubauen. Als Excel-Formel heißt sie:
=SUMMENPRODUKT(($C$1:$C$300000=AB$1)*($F$1:$F$300000=$AA2))
Diese Formel funktioniert.
In VBA versuche ich (ohne Erfolg):
Dabei habe ich den Vorschlag von Hajo ['Evaluate ("=SumProduct((Tabelle2!A40:A46 =""Geiger"")*((Tabelle2!B40:B46)))")] eingebaut:

Sub Demo()
For i = 2 To 6
For j = 5 To 15
MsgBox Evaluate("=Sumproduct((A1:A30=cells(i,4))*(F1:F30=cells(1,j)))")
Cells(i, j) = Evaluate("=Sumproduct((A1:A30=cells(i,4))*(F1:F30=cells(1,j)))")
Next j
Next i
End Sub


Userbild
https://www.herber.de/bbs/user/61655.xls
Gruß und Dank,
Born

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summenprodukt in VBA
06.05.2009 18:01:56
Hajo_Zi
Hallo Born,

Sub Demo()
For i = 2 To 6
For j = 5 To 15
'Evaluate ("=SumProduct((Tabelle2!A40:A46 =""Geiger"")*((Tabelle2!B40:B46)))")
'MsgBox Evaluate("=Sumproduct((A1:A30=""" & Cells(i, 4) & """)*(F1:F30=" & Cells(1, j) & ")) _
")
Cells(i, j) = Evaluate("=Sumproduct((A1:A30=""" & Cells(i, 4) & """)*(F1:F30=" & Cells(1, j) _
& "))")
Next j
Next i
End Sub
'ActiveSheet.Range("B1").Value = Evaluate("=SumProduct((Tabelle2!A40:A46 =""Geiger"")*(( _
Tabelle2!B40:B46)))")



Anzeige
AW: Summenprodukt in VBA - Noch nicht
06.05.2009 18:18:08
MBorn
Hallo Hajo,
funktioniert es bei Dir? Bei mir nicht.
siehe: https://www.herber.de/bbs/user/61658.xls
Es werden nur Nullen ausgegeben. Würdest du
bitte nochmal drauf schauen? (Oder wer auch immer
weiß, wie's geht). Danke
Gruß
Born
AW: Summenprodukt in VBA - Noch nicht
06.05.2009 18:47:56
Hajo_Zi
Halo Born,

Sub test()
Range("E2:O6").FormulaLocal = "=SUMMENPRODUKT(($A$1:$A$23=E$1)*($B$1:$B$23=$D2))"
Range("E2:O6").Copy
Range("E2:O6").PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
End Sub


Gruß Hajo

Anzeige
AW: Summenprodukt in VBA - Noch, noch nicht
06.05.2009 19:03:13
MBorn
Hallo Hajo,
das ist sicher eine Möglichkeit, aber das ist auch genau das, was ich vermeiden wollte.
Bei einer Tabelle mit 200000 Zeilen dauert die Berechnung mit der Excel-Funktion viel
zu lange. Deswegen suche ich eine "echte" Lösung in VBA. Funktioniert denn das Evaluate
bei Dir?
Gruß,
Born
AW: Summenprodukt in VBA - Noch, noch nicht
06.05.2009 19:15:57
MBorn
Hallo Hajo,
habe mit Basteleien einen Umweg über Evaluate Sum gefunden. Danke für die Hilfe.
Cells(Zeile, Spalte) = Application.Evaluate("=sum((A1:A23=" & Cells(1, Spalte) & ")*(B1:B23=""" & Cells(Zeile, 4) & """))")
Gruß,
Born

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige