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

WorksheetFunction.SumProduct

Forumthread: WorksheetFunction.SumProduct

WorksheetFunction.SumProduct
12.02.2004 21:14:47
Christoph
Hallo bestes Forum,
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
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: WorksheetFunction.SumProduct
12.02.2004 22:00:23
andre
hallo christoph,
erst mal ein ansatz:

Sub test()
MsgBox [SumProduct((a1:a3 = c1)* (a1:a3)*(b1:b3))]
End Sub

gruss andre
noch keine Lösung gefunden
12.02.2004 23:48:09
Christoph
Hallo Andre,
vielen deinen Dank erst mal.
Dein Tipp hat mich zumindest dazu gebracht, das Teil in Einzelschritten
zu analysieren. Leider Ohne Erfolg. Denn wie es aussieht, hängt sich die
"WorksheetFunction" genau dann auf, wenn sie "Month" verarbeiten soll.
als einfacheres Beispiel:
Range("E3").Value = WorksheetFunction.Sum(Worksheets("Tabelle1").Range("P2:P3"))
funktioniert.
aber:
Range("E3").Value = WorksheetFunction.Sum(Month(Worksheets("Tabelle1").Range("P2:P3")))
führt zu der besagten Fehlermeldung.
In beiden Fällen steht in "P2:P3" ein Datum.
Das erstere Ergebnis hilft mir allerdings nicht weiter, da ich wenig Lust habe
den Zahlenwert z.B. vom 29.04.1999 (=36279) wieder in Monat und Jahr aufzusplitten.
vielleicht kennst du ja noch einen Trick...?
Gruß
Christoph

Anzeige
AW: noch keine Lösung gefunden
13.02.2004 00:11:29
Bert
Lad doch mal was hoch, das bastelt sich doch niemand nach.
Bert
es gibt kein "Month" bei "WorksheetFunction"
13.02.2004 11:45:04
Christoph
Hi Bert,
insofern hat sich dieses Thema erledigt.
Ich werde also per Makro die Funktion einfügen und anschließend die Werte "drüberkopieren"
viele Grüsse
Christoph
;

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

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