WorksheetFunction.SumProduct
12.02.2004 21:14:47
Christoph
Ich habe ein Problem mit einer "WorksheetFunction" und komm einfach nicht auf den Fehler.
In der Tabelle "2948_Erfassung" steht im Bereich P2:P1743 jeweils ein Datum.
In der Tabelle "Anzahl_pro_Monat" steht in Spalte C die "Nummer" des Monats also 1 für Januar, 2 für Februar, ...) und in Spalte D das Jahr (1999, 1999, und 12 Zeilen weiter dann 2000, ...).In Tabelle "Anzahl_pro_Monat", Spalte E soll die Anzahl der Einträge aus Tabelle "2948_Erfassung" ausgegeben werden, deren Datum mit den Einträgen in Spalte C und D in Tabelle "Anzahl_pro_Monat" übereinstimmt.
Per Formel z.B. in E3 funktioniert das auch fehlerfrei:
=SUMMENPRODUKT((MONAT('2948_Erfassung'!$P$2:$P$1743)=C3)*(JAHR('2948_Erfassung'!$P$2:$P$1743)=D3))
Ich möchte jedoch nicht die Funktion in der Zelle sondern den berechneten Wert in der jeweiligen Zeile haben.
Ich habe dies mit folgendem Makro versucht:
Sub Formel()
Dim wks1 As Worksheet
Dim wks2 As Worksheet
Set wks1 = ThisWorkbook.Worksheets("Anzahl_pro_Monat")
Set wks2 = ThisWorkbook.Worksheets("2948_Erfassung")
wks1.Range("E3").Value = Application.WorksheetFunction.SumProduct((Month(wks2.Range("P2:P1743") = wks1.Range("C3")) * (Year(wks2.Range("P2:P1743")) = wks1.Range("D3"))))
End Sub
bekomme aber die Fehlermeldung: "Typen unverträglich".
Wo liegt der verdammte Fehler?
PS: ich arbeite zur Zeit unter OfficeXP, das Makro soll aber auch auf einem Rechner mit Office97 laufen.
bin für jede Hilfe dankbar
viele Grüsse
Christoph