Anzeige
Archiv - Navigation
160to164
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
160to164
160to164
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktionswertübergabe Fehler

Funktionswertübergabe Fehler
18.09.2002 12:29:19
Werner Hassold
Hi Leute,
ich habe folgende Funktion geschriebnen:

Function XYZ(Nr as Integer) as Single
Dim Ergebnis as Single
If Nr=1 then Ergebnis=100
If Nr=2 then Ergebnis=200
If Nr=3 then ....
XYZ=Ergebnis
End Function

Wenn ich nun die Funktion in einer Zelle benutze wird mir
kein Zahlenwert zurückgegeben, sondern #WERT! in der Zelle
angezeigt.
Die Zelle ist als Zahlenformat mit 2 Nachkommastellen formatiert.

Kann mir jemand weiterhelfen und sagen wo der Fehler liegt?
Gruß Werner




8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Funktionswertübergabe Fehler
18.09.2002 12:42:05
Harald Kapp
Hallo Werner,
Du fängst wahrscheinlich keine falschen Eingangsdaten ab. Wenn ich z.B. ein ASCII-Zeichen "a" übergebe, erhalte ich die gleiche Meldung, sonst funktioniert es.

Tip: Mit Isnumeric und einer Bereichsprüfung testen, ob der übergebene Wert überhaupt im zulässigen Bereich liegt. Du kannst übrigens das alles zusammen prima mit "Select Case" abhandeln, damit wirst Du auch die vielen "If"s los. Außerdem hast Du dann die Möglichkeit im Else-Zweig der Select-Anweisung eine meldung bei Parameter außerhalb des Wertebereiches abzusetzen.

Gruß Harald

Re: Funktionswertübergabe Fehler
18.09.2002 13:04:34
Werner Hassold
Hallo Harald, Danke erstmal.
Leider bekomme ich es einfach nicht hin, selbst wenn ich die
Funktion folgendermassen umschreibe wird immer noch #Wert! an-
gezeigt:

Function XYZ(Nr as Integer) as Single
XYZ=0
End Function

Kann es am DatenTyp Single liegen, ist dieser DatenTyp für
Zellenwerte mit zwei Nachkommastellen zu hoch?

Gruß Werner

Anzeige
Re: Funktionswertübergabe Fehler
18.09.2002 13:32:04
Harald Kapp
Nö,
sollte reichen:
...Bereich von -3,402823E38 bis -1,401298E-45 für negative Werte und von 1,401298E-45 bis 3,402823E38 für positive Werte...

Ich hab' allerdings nur Office 97 und bei mir klappt es. Hast Du mal probeweise den Datentyp double versucht? Macht aug einem modernen Rechner kaum einen Unterschied, vielleicht klappt es damit?

Gruß Harald

Re: Funktionswertübergabe Fehler
18.09.2002 14:11:07
Werner Hassold
Hi Harald,
ich habe es nun sogar mit den DatenTyp String versucht und die
Zelle als Text formatiert, aber es wird immer noch #WERT! in der
Zelle angezeigt!
Ich kanns nicht verstehen, sollte Excel die Function nicht
finden?
Gruß Werner
Anzeige
Re: Funktionswertübergabe Fehler
18.09.2002 14:38:09
Harald Kapp
Wo hast Du denn die Funktion deklariert?

Ich habe Deinen Code übernommen, indem ich Extras-> Makro -> Makros aufgerufen habe, dann ein Dummy-Makro erstellt und statt dessen Deinen Code gepastet habe.
Ich glaube aber, dass der Fehler wo anders liegt. Wenn ich nämlich eine Funktion benutze (=bla()), dann kommt #NAME? als Fehlermeldung. Excel scheint demnach Deien Funktion wohl zu finden.

Poste doch mal die komplette Funktion.

Gruß Harald

Re: Funktionswertübergabe Fehler
18.09.2002 16:29:25
Werner Hassold
Hi Harald,
ich habe eine Prozedur über Makro erstellen erstellt und
dann in Function umbenannt und entsprechend geändert.
Hier die Funktion:
-----------------------
Function DN_Summe(DN as Integer) as Single
Dim Ergebnis as Single, i as Integer, j as Integer,
Tabelle as String

Ergebnis=0
For j=1 to 11
If j=1 then Tabelle="Blatt 1"
If j=2 then Tabelle="Blatt 2"
...
...
If j=11 then Tabelle="Blatt 11"
Worksheets(Tabelle).Aktivate
For i=1 to 22
If Cells(i,2)=DN then Ergebnis=Ergebnis+Cells(i,4)
Next i
Next j
DN_Summe=Ergebnis
End Function
-----------------------
Selbst wenn ich alles aus der Funktion lösche und nur schreibe:
DN_Summe=0
wird immer noch #Wert! in der Zelle angezeigt.
Ich weis keinen Rat mehr.
Gruß Werner

Anzeige
Re: Funktionswertübergabe Fehler
19.09.2002 06:16:02
Harald Kapp
Hallo Werner,
sorry, komme erst jetzt zum Antworten.

Ich erhalte die von Dir gerügte Fehlermeldung #WERT!, wenn ich die Funktion ohne Argument aufrufe: =DN_Summe().
Könnte darin Dein Problem liegen?
Wenn Du irgendeinen Parameter übergibst, selbst eine leere Zelle, z-.B. =DN_Summe(A1) wobei in A1 ein Wert stehen kann oder auch nicht, dann kommt die Fehlermeldung nicht.

Gruß Harald

Re: Funktionswertübergabe Fehler
19.09.2002 14:53:05
Werner Hassold
Hallo Harald, Danke für deine Hilfe.
Ich habe die Funktion immer mit Parameter aufgerufen, leider läuft es immer noch nicht.
Ich würde dir gerne mal die Tabelle als Zip-Datei senden,
wenn es dir recht wäre und ich deine eMai-Adresse hätte.
Gruß Werner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige