Das Unglück ist, daß OO nun manchmal #NAME? einträgt - und zwar obwohl die Formel OK ist.
Präzise: wenn man das Makro ausführt und dann in eine als #NAME? dargestellte Formel ein
Leerzeichen einfügt und wieder entfernt (also nichts ändert), funktioniert sie plötzlich.
Weiß jemand woran das liegt, und wie man es beheben kann?
grob geraten ist das ein Lokalisierungsproblem. Ein:
Code: Alles auswählen
doc.sheets(i).getcellbyposition(6,9).formula="=5*AUFRUNDEN(MAX(E10;F10) *1,2 / 5)"
sollte eigentlich garnicht funktionieren, weil Du einen deutschen Formelausdruck verwendest und der richtige Code dann sein sollte:
Code: Alles auswählen
doc.sheets(i).getcellbyposition(6,9).formulaLocal="=5*AUFRUNDEN(MAX(E10;F10) *1,2 / 5)"
was Du aber nur in einem deutschsprachigen OOo mit deutschen Zellformatierungen verwenden darst.
Sicher und universeller ist immer die sprachneutrale Variante, dann kümmert sich OOo automatisch um die Lokalisierung.
Du mußt dafür nun tatsächlich .formula verwenden, die Tabellenfunktion jedoch in englischer Lokalisierung angeben, also:
Code: Alles auswählen
doc.sheets(i).getcellbyposition(6,9).formula="=5*ROUNDUP(MAX(E10;F10) *1,2 / 5)"
keine Sorge, wenn DEin OOo deutsch ist erscheint die Formel in der Tabelle automatisch in deutsch auch wenn sie das Makro englisch einträgt.
Hinweis:
*das ich MAX belassen habe ist zufall weil das in englisch genauso heißt
*die englischen Funktionsnamen findest Du z.B. hier:
http://www.galileocomputing.de/1025 (unten auf der Seite unter Buch Updates)
Gruß
Stephan
[quote]Das Unglück ist, daß OO nun manchmal #NAME? einträgt - und zwar obwohl die Formel OK ist.
Präzise: wenn man das Makro ausführt und dann in eine als #NAME? dargestellte Formel ein
Leerzeichen einfügt und wieder entfernt (also nichts ändert), funktioniert sie plötzlich.
Weiß jemand woran das liegt, und wie man es beheben kann? [/quote]
grob geraten ist das ein Lokalisierungsproblem. Ein:
[code]doc.sheets(i).getcellbyposition(6,9).formula="=5*AUFRUNDEN(MAX(E10;F10) *1,2 / 5)"[/code]
sollte eigentlich garnicht funktionieren, weil Du einen deutschen Formelausdruck verwendest und der richtige Code dann sein sollte:
[code]doc.sheets(i).getcellbyposition(6,9).formulaLocal="=5*AUFRUNDEN(MAX(E10;F10) *1,2 / 5)"[/code]
was Du aber nur in einem deutschsprachigen OOo mit deutschen Zellformatierungen verwenden darst.
Sicher und universeller ist immer die sprachneutrale Variante, dann kümmert sich OOo automatisch um die Lokalisierung.
Du mußt dafür nun tatsächlich .formula verwenden, die Tabellenfunktion jedoch in englischer Lokalisierung angeben, also:
[code]doc.sheets(i).getcellbyposition(6,9).formula="=5*ROUNDUP(MAX(E10;F10) *1,2 / 5)"[/code]
keine Sorge, wenn DEin OOo deutsch ist erscheint die Formel in der Tabelle automatisch in deutsch auch wenn sie das Makro englisch einträgt.
Hinweis:
*das ich MAX belassen habe ist zufall weil das in englisch genauso heißt
*die englischen Funktionsnamen findest Du z.B. hier:
http://www.galileocomputing.de/1025 (unten auf der Seite unter Buch Updates)
Gruß
Stephan