Tabellen funktion schreibt nicht in andere Zelle

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Tabellen funktion schreibt nicht in andere Zelle

schade eigentlich

von Frankvas » Fr, 29.12.2006 22:27

Wenn eine benutzerdefinierte Funktion aufgerufen wird, sind alle anderen Zellen schreibgeschützt -
Schade eigentlich . Welchen Grund hat denn dieser Schreibschutz ? .Vielleicht kann das in der nächsten OO Version geändert werden .

Gruß und besten dank Frank

von Toxitom » Fr, 29.12.2006 08:35

Hey Frank,

bin ich hier an die Grenzen des möglichen , oder wo zum kuckuck ist der Fehler.
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.

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

Tabellen funktion schreibt nicht in andere Zelle

von Frankvas » Do, 28.12.2006 20:43

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

Nach oben