Andreas Borutta schrieb:
mir schwebt vor, künftig Formeln nicht direkt im Dokument sondern
getrennt von diesem zu pflegen.
Das Dokument bleibt aufgeräumter und vor allem kann eine Änderung
zentral geschehen.
Im OOowiki oder auch im Buch von Jörg Schmidt bin ich bisher nicht
fündig geworden, warum mein folgender Versuch mit einer simplen
Funktion scheitert.
Diese einfache Formel, direkt eingefügt, funktioniert einwandfrei:
=D1*24*K1*MIN(J1;$D$4)
Als Funktion
Function FOO()
FOO=D1*24*K1*MIN(J1;$D$4)
End Function
jedoch nicht.
Woher soll die Funktion wissen, welches Blatt in welchem Dokument Du
meinst? Es gibt zwei Möglichkeiten: Entweder Du referenzierst in der
Funktion das Dokument usw. (z.B. über
'ThisComponent.CurrentController.Frame'), oder Du übergibst einfach die
betreffenden Werte als Parameter.
Ich würde letzteres vorschlagen; dann würde obige Funktion so aussehen
(ich hab jetzt mal mangels Kenntnis der Bedeutung als Variablennamen die
der Zellennamen genommen; besser wäre es natürlich, statt 'D1' usw.
irgend welche aussagefähigen Namen wie 'Stunde' - oder was immer die
Bedeutungen der Werte sind - zu verwenden):
| Function FOO(D1, K1, J1, D4 As DOUBLE)
| DIM kleinster as DOUBLE
| if J1 < D4
| kleinster = J1
| else
| kleinster = D4
| FOO=D1*24*K1*kleinster
| End Function
(laut Hilfe scheint das Basic-Modul keine Min/Max-Funktion zu besitzen),
und der Aufruf entsprechend:
| =FOO(D1; K1; J1; $D$4)
Folgende Funktion funktionierte problemlos:
Function VOL(Durchmesser, Hoehe)
VOL=Pi*(Durchmesser/2)^2*Hoehe
End Function
In der Zelle steht
=VOL(2,5;4)
S. o.
Wolfgang
--
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]