Seite 1 von 1

Formel in OpenOffice 3.3

Verfasst: Fr, 11.02.2011 13:03
von schaborj
Hallo
Irgndwie scheint mir OOo etwas zuviel helfen zu wollen:
ich möchte per Basic-Makro folgende Formel in eine Callc Zelle schreiben:

sFormDate = "=STRGEDCOMDATE(INDIREKT(""R" & k+1 & "C" & lCol+6 & """;0);INDIREKT(""R" & k+1 & "C" & lCol+7 & """;0);INDIREKT(""R" & k+1 & "C" & lcol+8 & """;0);INDIREKT(""R" & k+1 & "C" & lCol+9 & """;0))"

Calc ist aber der anderer Meinung und ändet den Zellinhalt ab:

=STRGEDCOMDATE(indirekt("R2C27";0);indirekt("R2C28";0);indirekt("R2C29";0);indirekt("R2C30";0))

aus dem INDIREKT wird ein indirekt was natürlich dann zu einem Fehler in der Formal führt.
Wer kennt einen Weg und wie geht der, das OOo das tut, war ich gerne hätte :roll: :?:

Re: Formel in OpenOffice 3.3

Verfasst: Fr, 11.02.2011 13:15
von Stephan
aus dem INDIREKT wird ein indirekt
mutmaßlich weil Du die Formel mit .Formula einträgst und keine benutzerdefinierte Funktion namens INDIREKT definiert hast, der Name der entsprechenden Tabellenfunktion ist (für .Formula) in jedem Falle INDIRECT


Gruß
Stephan

Re: Formel in OpenOffice 3.3

Verfasst: Fr, 11.02.2011 13:23
von Karolus
Hallo
Schreibst du in oCell.formula ? dann müsstest du die englische Form von INDIREKT nehmen , vmtl. INDIRECT ? Das wird dann automatisch in die eingestellte Lokalisierung übersetzt.

Möchtest du mit lokalisierten Funktionsnamen arbeiten schreibe in ocell.formulalocal

Ps.Benötigst du überhaupt INDIREKT wenn du dir die Zelladressen in Basic zusammen bastelst ? zb.:

Code: Alles auswählen

sFormDate = "=STRGEDCOMDATE(R" & k+1 & "C" & lCol+6 & ";R" & k+1 & "C" & lCol+7 & ";R" & k+1 & "C" & lcol+8 & ";R" & k+1 & "C" & lCol+9 & ")"

Gruß Karo

Re: Formel in OpenOffice 3.3

Verfasst: Mo, 14.02.2011 14:43
von schaborj
Hallo

vielen dank für die Antwort. Es war tatsächlich die Übersetzung. Es muss im Program INDIRECT heißen.
Die Art wie man in Basic eine Formeln zusammenbaut - über RC - habe ich nirgends gefunden, daher der Versich mit INDIRECT; dein Code-Hinweis macht das natürlich viel einfacher.

Also besten Dank, das waren sehr dienliche Hinweise. :?

Bodo

Re: Formel in OpenOffice 3.3

Verfasst: So, 27.02.2011 19:42
von schaborj
Hallo

so jetzt habe ich die Formeln zusammengebaut. Leider funktioniert die RC-Addressierung nicht so wie gewünscht. Auch die Methode über "INDIRECT" ist nicht sehr hilfreich, da die Addressierung beim Sortieren nicht umgestellt wird.
Ich habe in einem englischem Forum einen Lösungsvorschlag gefunden, der funktioniert
http://www.oooforum.org/forum/viewtopic.phtml?t=5597
Es ist zwar ein wenig umständlich und wird auch Performance kosten, aber damit bleiben wenigstens die die Grundfunktionen der Tabelle (Kopieren Ausfüllen, etc) erhalten. Ich persönlich finde die RC Methode zur Addressierung von Row und Column mit Zahlen besser als mit Buchstaben.

Nochmals vielen Dank für die Hinweise :D

Re: Formel in OpenOffice 3.3

Verfasst: So, 27.02.2011 19:54
von Karolus
Hallo
Vom Spaltenindex i zur Spaltenbezeichnung kommst ganz schlicht per ....sheet.getcolumns().getbyindex( i ).name

Gruß Karo