Fehlermeldung #WERT bei Funktions-Aufruf

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

Moderator: Moderatoren

vwl0
Beiträge: 3
Registriert: So, 08.06.2008 12:55

Fehlermeldung #WERT bei Funktions-Aufruf

Beitrag von vwl0 »

Fehlermeldung #WERT bei calc

In Zelle A1 steht eine 3.
Wenn ich die folgendeFunktion mit =z2s(A1)aufrufe, erscheint die Meldung #WERT.
Was mache ich falsch?

Volker

function z2s (z as integer) as string
select case z
case 1
z2s = "eins"
case 2
z2s = "zwei"
case 3
z2s = "drei"
end select
end function
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Fehlermeldung #WERT bei Funktions-Aufruf

Beitrag von turtle47 »

Hallo Volker,

ich vermute mal das Du die Ausführung von Makros nicht erlaubt hast. Diese Abfrage kommt normalerweise beim Laden des Dokumentes.

Wenn nicht, dann schau mal unter
Menue > Extras > Optionen > OO.o > Sicherheit > Makrosicherheit nach.

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
chrk
*******
Beiträge: 1670
Registriert: Sa, 22.09.2007 18:09

Re: Fehlermeldung #WERT bei Funktions-Aufruf

Beitrag von chrk »

Hallo Jürgen,
turtle47 hat geschrieben:Diese Abfrage kommt normalerweise beim Laden des Dokumentes.
Ich habe vorher schon mal versucht, die Funktion nachzubauen. Eingebunden unter Meine Makros>Standard>Module1, also [edit] nicht [/edit] im Dokument, hat OOo sich bei der Anwendung nicht beschwert.

Ich habe verschiedene Eingabe-Szenarien (Text, Zahl als Text formatiert, Zahl außerhalb des case-Range) durchprobiert und keinen #WERT-Fehler provozieren können. Jetzt habe ich die Funktion mal in ein Dokument geschrieben und das nicht im Pfad der Vertrauenswürdigen Quellen gespeichert. - Ebenfalls keine Reaktion.

Das einzige, was nicht glatt läuft, ist die fehlende case else-Behandlung. Die Funktion liefert unterschiedliche Ergebnisse, wenn man einen Wert außerhalb des Range eingibt: "drei", wenn die Funktion vorher noch nicht ausgeführt wurde (z.B. auf eine leere Zelle referenziert), und sie gibt den jeweils letzten gültigen Wert zurück, wenn eine gültige Eingabe in eine ungültige geändert wird.

Wenn noch jemandem etwas einfällt, warum der #WERT-Fehler auftritt, würde ich vorschlagen, die Funktion abzuwandeln:

Code: Alles auswählen

End Sub
function z2s (z as integer) as string
select case z
	case 1
	z2s = "eins"
	case 2
	z2s = "zwei"
	case 3
	z2s = "drei"
	case else
	z2s = ""
end select
end function
Zuletzt geändert von chrk am So, 08.06.2008 17:18, insgesamt 1-mal geändert.
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Fehlermeldung #WERT bei Funktions-Aufruf

Beitrag von turtle47 »

Hallo Christian,
chrk hat geschrieben:und keinen #WERT-Fehler provozieren können.
Ich schon.
Die Funktion war dabei im Dokument gespeichert. Dann habe ich das Dokument geschlossen und
wieder gestartet. Makros aktivieren habe ich nicht erlaubt. Dann kommt in der Zelle "#WERT"
chrk hat geschrieben:Eingebunden unter Meine Makros>Standard>Module1, also im Dokument,
Das ist nicht im Dokument sondern wie Du selber schreibst unter >Meine Makros<
So sieht es aus wenn im Dokument gespeichert wird.
Speicherort.jpg
Speicherort.jpg (64.61 KiB) 872 mal betrachtet
Schöne Grüsse.

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
chrk
*******
Beiträge: 1670
Registriert: Sa, 22.09.2007 18:09

Re: Fehlermeldung #WERT bei Funktions-Aufruf

Beitrag von chrk »

Hallo Jürgen,
zum Ersten: ich habe die Makrosicherheit auf Hoch und die Vertrauenswürdigen Quellen auf meinen (Vista-) Dokumentpfad gesetzt. Ich habe das Dokument nach dem Speichern (zu meiner Schande) nicht geschlossen. Jetzt kann ich es auch nachvollziehen, bei der Nachfrage und Ablehnung der Makroausführung sehe ich den Fehler auch.
Das wird es dann wohl sein!

Zum Zweiten: Ich habe "nicht im Dokument" schreiben wollen, aber irgendwas hat mir das aus der Tastatur gesaugt (schade, dass es kein Smiley für ausgesprochen debiles Grinsen gibt).
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Fehlermeldung #WERT bei Funktions-Aufruf

Beitrag von turtle47 »

chrk hat geschrieben:aber irgendwas hat mir das aus der Tastatur gesaugt
Dann würde ich mich aber schnellsten nach einer neuen Tastatur umsehen.
Stell Dir mal vor, Du schreibst eine E-Mail an Deinen Chef. Wer weis was bei dem
dann ankommt?

Sorry, aber ich habe mich köstlich über diese Aussage amüsiert. :wink:
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
chrk
*******
Beiträge: 1670
Registriert: Sa, 22.09.2007 18:09

Re: Fehlermeldung #WERT bei Funktions-Aufruf

Beitrag von chrk »

turtle47 hat geschrieben:Sorry, aber ich habe mich köstlich über diese Aussage amüsiert. :wink:
Genau so war's gemeint (...wenn der Bauer nicht schwimmen kann...). Und eMails an meinen Chef schreibe ich vorsichtshalber an einer anderen Tastatur :mrgreen:
vwl0
Beiträge: 3
Registriert: So, 08.06.2008 12:55

Re: Fehlermeldung #WERT bei Funktions-Aufruf

Beitrag von vwl0 »

chrk hat geschrieben:Hallo Jürgen,
turtle47 hat geschrieben:Diese Abfrage kommt normalerweise beim Laden des Dokumentes.
Ich habe vorher schon mal versucht, die Funktion nachzubauen. Eingebunden unter Meine Makros>Standard>Module1, also [edit] nicht [/edit] im Dokument, hat OOo sich bei der Anwendung nicht beschwert.
[/code]
Der Fehler scheint darin zu liegen wie ich das speichere: ich hatte eine Datei, da funktionierte es, eine andere da gab es Fehlermeldungen. Ich hatte wohl so gespeichert, dass das Makro nicht in jeder Datei zur Verfügung stand.

Noch eine Frage von einem Makro-Anfänger: Was meinst Du mit [edit] nicht [/edit] ?

Volker
chrk
*******
Beiträge: 1670
Registriert: Sa, 22.09.2007 18:09

Re: Fehlermeldung #WERT bei Funktions-Aufruf

Beitrag von chrk »

vwl0 hat geschrieben:Noch eine Frage von einem Makro-Anfänger: Was meinst Du mit [edit] nicht [/edit] ?
Hat mit Makros nicht zu tun. Das ist ein Psuedo-BBCode, um zu signalisieren, dass ich an dieser Stelle meinen Beitrag bearbeitet habe. [Tag]...[/Tag schließen]
Antworten