in einer zelle"E9" habe habe ich die Basic-Funktion "=AUTOH(E11;B10)" stehen
diese Funktion soll noch einen wert in einer anderen Zelle ädern . Das geht nicht .
<code>
function autoh(bem as string ,daz as Single)
dim ut as integer
dim cell,sheet,doc as object
dim n as string
doc=stardesktop.currentcomponent
n=doc.currentcontroller.activesheet.name
sheet=doc.sheets.GetByName(n)
if IsNumeric(bem ) then
autoh=bem
else
select case bem
case "B" :
autoh=4
case "N"
autoh=10
case "E"
autoh=6
case "U"
autoh=daz/6
cell = Sheet.getCellByPosition(1,2)
ut=cell.value
ut=ut-1
cell.value=ut
case "KU"
cell = sheet.getCellByPosition(1,2)
ut=cell.value
ut=ut+1
cell.value=ut
end select
end if
end function
</code>
die funktion wird ausgeführt ,setzt das richtige ergebnis in die zelle der Funktion .
Aber!!!!! die Zeile "cell.value=ut" hat keine wirkung .bin ich hier an die Grenzen des möglichen , oder wo zum kuckuck ist der Fehler.
bin für tipps und Hinweise sehr dankbar
gruß frank
Tabellen funktion schreibt nicht in andere Zelle
Moderator: Moderatoren
Hey Frank,
Allso, da musst du die Logik deines Sheets umbauen oder "echte" Makros verwenden. Die können das, benötigen aber eben einen Auslöser.
Gruss
Thomas
Genau. Wenn eine benutzerdefinierte Funktion aufgerufen wird, sind alle anderen Zellen schreibgeschützt - du kannst dort nichts reinschreiben. Die Zelle kann lediglich das Ergebnis (Rückgabewert) der Funktion darstellen.bin ich hier an die Grenzen des möglichen , oder wo zum kuckuck ist der Fehler.
Allso, da musst du die Logik deines Sheets umbauen oder "echte" Makros verwenden. Die können das, benötigen aber eben einen Auslöser.
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
schade eigentlich
Schade eigentlich . Welchen Grund hat denn dieser Schreibschutz ? .Vielleicht kann das in der nächsten OO Version geändert werden .Wenn eine benutzerdefinierte Funktion aufgerufen wird, sind alle anderen Zellen schreibgeschützt -
Gruß und besten dank Frank