Makro Kopieren / Einfügen

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

Moderator: Moderatoren

Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Makro Kopieren / Einfügen

Beitrag von Karolus »

Hallo
=KOPIEREN_EINFUEGEN(B6;D6)
Hier ist das erste Problem, Calc reicht hier nicht literalen Zelladressen weiter sondern den Inhalt von B6 und D6.
Du müsstest aus Calc aufrufen in der Form:

Code: Alles auswählen

=KOPIEREN_EINFUEGEN( "B6" ; "D6" ) 
oder

Code: Alles auswählen

=KOPIEREN_EINFUEGEN( ZELLE("Adresse" ;B6 ) ; ZELLE("adresse"; D6) )  


In deiner UDF machst du im Prinzip den umgekehrten Fehler, du übergibst an ...getCellRangeByName die literalen Wörter 'kopieren' und 'einfuegen' aber nicht das was momentan in den Namen steckt.
So wirds was:

Code: Alles auswählen

......getCellRangeByName( kopieren ) 
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Makro Kopieren / Einfügen

Beitrag von Karolus »

Hallo

Stimmt, da ist das dritte Problem.
Calcfunktionen geben in der Regel ein Ergebnis zurück in die Zelle in der sie stehen, deine Funktion (versucht) jedoch andere Zellen zu ändern, was aber daran scheitert das Calc während der Ausführung einer Funktion andere unbeteiligte im gleichen Tabellenblatt wie die Funktion, gegen Änderungen schützt.

In deiner UDF ist ja das erste Tabellenblatt fix, probier mal einen Aufruf aus Tabelle2 heraus.

Karolus

Ps. ich nehme an, deine UDF dient nur zu Übungzwecken, du kannst sie nämlich völlig problemlos durch eine simple Funktion ersetzen, z.B.

Code: Alles auswählen

=A4:A6
die trägst du in die oberste (linke ) Zelle des Zielbereichs ein und bestätigst das als Matrixfunktion strg+shift+enter bzw. mit der [x]Matrixoption im Formelassistenten.
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten