von chrk » So, 08.06.2008 16:38
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
Hallo Jürgen,
[quote="turtle47"]Diese Abfrage kommt normalerweise beim Laden des Dokumentes.[/quote]
Ich habe vorher schon mal versucht, die Funktion nachzubauen. Eingebunden unter Meine Makros>Standard>Module1, also [b][edit] nicht [/edit][/b] 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]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[/code]