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

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. INDIRE
CT ? 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

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