Calc-Funktion "Summenprodukt" via Makro durchführen
Verfasst: Do, 05.07.2012 15:41
Servus miteinander!
Ich möchte die Calc-Funktion "Summenprodukt" mittels OOO-Basic-Makro für eine einfache Abfrage verwenden. Die Tabelle ist mit 3 Spalten recht simpel (siehe Anhang). Sie enthält die geleisteten Minuten pro Mitarbeiter und Monat, wobei Spalte A das Mitarbeiterkürzel (String), Spalte B die Monatsangabe (Value) und Spalte C die Minuten (Value) enthält. In Calc lässt sich die Formel z.B. wie folgt einwandfrei anwenden:
=summenprodukt(A2:A8="AEB";B2:B8=2012.06;C2:C8)
Leider schaff ich es nicht, diese Funktion korrekt in Basic aufzurufen. Das Grundgerüst sollte vermutlich wie folgt aussehen:
Nun müsste ich für Matrix1 noch das Argument ="AEB" und bei Matrix2 das Argument =2012.06 mitgeben, aber ich komme nicht dahinter wie!
Hat vielleicht jemand eine Idee?
Vielen Dank schonmal und liebe Grüsse
Migesius
Ich möchte die Calc-Funktion "Summenprodukt" mittels OOO-Basic-Makro für eine einfache Abfrage verwenden. Die Tabelle ist mit 3 Spalten recht simpel (siehe Anhang). Sie enthält die geleisteten Minuten pro Mitarbeiter und Monat, wobei Spalte A das Mitarbeiterkürzel (String), Spalte B die Monatsangabe (Value) und Spalte C die Minuten (Value) enthält. In Calc lässt sich die Formel z.B. wie folgt einwandfrei anwenden:
=summenprodukt(A2:A8="AEB";B2:B8=2012.06;C2:C8)
Leider schaff ich es nicht, diese Funktion korrekt in Basic aufzurufen. Das Grundgerüst sollte vermutlich wie folgt aussehen:
Code: Alles auswählen
Sub Main
oS = ThisComponent.sheets(0)
sMA = "AEB"
nPer = 2012.06
FuncInst = createUnoService( "com.sun.star.sheet.FunctionAccess" )
Matrix1 = oS.getCellRangeByPosition(0,1,0,8)
Matrix2 = oS.getCellRangeByPosition(1,1,1,8)
Matrix3 = oS.getCellRangeByPosition(2,1,2,8)
lMonTotal = FuncInst.callFunction("sumproduct",array(Matrix1,Matrix2,Matrix3))
End Sub

Vielen Dank schonmal und liebe Grüsse
Migesius