Anzeige
Archiv - Navigation
1324to1328
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

sumproduct in VBA

sumproduct in VBA
31.07.2013 21:30:47
stiff82
Hallo liebe Excelgurus,
Ich möchte schauen ob in einer der Spalten von E bis I ein Wert vorhanden ist, außerdem muss in Spalte K auch ein Wert vorhanden sein, z.B. "x".
In Excel funktioniert es tadellos:
=SUMMENPRODUKT((K:K="x")*((E:E"")+(F:F"")+(G:G"")+(H:H"")+(I:I"")>0))

Ich möchte jetzt aber diese Formel in VBA umsetzen, doch da haperts.
Fehlermeldung lautet:
Laufzeitfehler 13
Typen unverträglich
               erg = Application.WorksheetFunction.SumProduct( _
(Sheets(1).Range("K:K") = "x") * ( _
(Sheets(1).Range("E:E")  "") + _
(Sheets(1).Range("F:F")  "") + _
(Sheets(1).Range("G:G")  "") + _
(Sheets(1).Range("H:H")  "") + _
(Sheets(1).Range("I:I")  "") > 0)) 

Woran kann das liegen, es ist doch der identische Aufbau?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sumproduct in VBA
31.07.2013 22:07:15
Matze
Hallo Stiff82,
kannst doch die Formel direkt in die Zelle schreiben (Bereich anpassen)
Range("L1:L100").FormulaR1C1 = "=SUMPRODUCT((C[-1]=""x"")*((C[-7]<>"""")+(C[-6]<>"""")+(C[-5]<>"""")+(C[-4]<>"""")+(C[-3]<>"""")>0))"
Matze

AW: sumproduct in VBA
31.07.2013 22:15:19
Matze
Hi Stii82,
warum am Ende der Formel >0 ? Das Ergebnis wird dir immer eine 1 liefern wenn in Spalte K ein "x"
gesetzt wird und egal E1:I1 ein Wert enthält.
Matze

WorksheetFunction.SumProduct fktt in VBA ...
01.08.2013 02:26:15
Luc:-?
…nur streng nach Vorschrift, Stiff,
dafür sorgt der WorksheetFunction-Container. D.h., du kannst nur Bereiche bzw Datenfeld-Variablen als einzelne Argumente übergeben. Komplexe Berechnungen wie im TabBlatt sind nur nach VBA-Syntax möglich und müssen ggf zuvor vorgenommen wdn.
So wie im TabBlatt kannst du hier nur arbeiten, wenn du die Fml als Text der vbFkt Evaluate als Argument übergibst.
Alternativ kannst du aber auch die Fml lt Matzes Vorschlag ins Blatt eintragen und sie ggf anschld durch ihren Wert ersetzen.
Gruß Luc :-?
Anzeige

159 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige