Matrixformel per Makro

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Thorsten_Z
*
Beiträge: 12
Registriert: Sa, 23.01.2010 12:24

Matrixformel per Makro

Beitrag von Thorsten_Z »

Moin Oogemeinde,

ich versuche per Makro eine Matrixformel in eine Zelle zu schreiben. Mit dem Makrorecorder konnte ich mal grade nachvollziehen, dass eine "einfache" formel wie z.B. =SUMME(....) als String übergeben wird. Das klappt mit der Matrixformel nicht mehr, wegen der vorhandenen Anführungszeichen (") in der Formel.
Hat jemand Erfahrung damit, wie eine Matrixformel per Makro in eine Zelle geschrieben werden kann? Bin für jeden Hinweis dankbar.

Gruß
Thorsten
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Matrixformel per Makro

Beitrag von turtle47 »

Hi Thorsten,

wie wäre es, zuerst mal die SuFu des Forums zu bemühen.

Dann hättest Du bestimmt auch diesen Beitrag gefunden.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Thorsten_Z
*
Beiträge: 12
Registriert: Sa, 23.01.2010 12:24

Re: Matrixformel per Makro

Beitrag von Thorsten_Z »

... selbstvertändlich habe ich zuerst gesucht... aber dieser Beitrag hilft mir nicht weiter. Daher dieser neue Beitrag.
Ich bräuchte ein kurzes anschauliches Codebeispiel. anbei mal die Formel, die ich übergeben möchte:

Code: Alles auswählen

=WENN(INDEX(INDIREKT($J$7&"B1:B500");KKLEINSTE(WENN(INDIREKT($J$7&"A1:A500")=$A$86;ZEILE(INDIREKT($J$7&"B1:B500")));$B$86))=0;"";INDEX(INDIREKT($J$7&"B1:B500");KKLEINSTE(WENN(INDIREKT($J$7&"A1:A500")=$A$86;ZEILE(INDIREKT($J$7&"B1:B500")));$B$86)))
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Matrixformel per Makro

Beitrag von turtle47 »

Hallo Thorsten,

es sieht also folgendermassen aus:

Übergebe die Formel mit

Code: Alles auswählen

ArrayFormula
an in die Zelle.

Die Zellbereiche musst Du in doppelte Anführungszeichen setzen.

Code: Alles auswählen

"=WENN(INDEX(INDIREKT($J$7&""B1:B500"")........)"
Und jetzt ist noch folgendes zu tun. Du musst die Funktionen in englisch schreiben weil es für Matrixformeln kein

Code: Alles auswählen

ArrayFormulaLocal
gibt. Dazu siehe auch diese Beiträge.

Viel Erfolg.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Thorsten_Z
*
Beiträge: 12
Registriert: Sa, 23.01.2010 12:24

Re: Matrixformel per Makro

Beitrag von Thorsten_Z »

Super... damit komme ich voran. Vielen Dank

Gruß
Thorsten
Antworten