Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1076to1080
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
Inhaltsverzeichnis

Keine #Wert Ausgabe in VBA

Keine #Wert Ausgabe in VBA
18.05.2009 21:48:10
helmi
Hallo zusammen
Ich habe eine Frage zu VBA.
Ich habe mir eine Funktion in VBA geschrieben, welche ab und zu als Resultat #Wert ausspuckt.
Nun möchte ich gerne wissen, wie man in der Funktion noch etwas einbauen kann, so dass er im Falle des #Wert zum Beispiel eine leere Zelle ausgibt (""). Ich suche sozusagen das Pendant zu wenn(istfehler();dann;sonst).
Gruss
helmi

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
schau Dir die IsError-Funktion an ... oT
18.05.2009 21:54:33
Matthias
AW: schau Dir die IsError-Funktion an ... oT
18.05.2009 22:01:16
helmi
hmmm
ich habs folgendermassen probiert, das funktioniert aber nicht:
if iserror(meineFunktion) then
meineFunktion=""
else
end if
AW: Keine #Wert Ausgabe in VBA
18.05.2009 22:05:13
Daniel
Hi
die Saubere Lösung wäre, mal durchzutesten, was den Fehler verusacht und dann eben entsprechende IF-Abfragen den Fehler abzufangen, beispielsweise du hast in der Formel ne Divison:

Function DeineFormel(x as Double) as variant
DeineFormel = 1/x
End function


dann könnte man das so abfangen:


Function DeineFormel(x as Double) as variant
If x = 0 then
DeineFormel = ""
else
DeineFormel = 1/x
end if
End function


Gruß, Daniel

Anzeige
AW: Keine #Wert Ausgabe in VBA
18.05.2009 22:11:13
helmi
es hat damit zu tun, dass eine der eingabeparameter (funktion(a,b,c) wobei z.B. b="" ist) nicht vorhanden ist.
dann habe ich ein Problem, dass kei vernünftiger Wert für meine Funktion herauskommt
AW: Keine #Wert Ausgabe in VBA
18.05.2009 22:46:27
Daniel
Hi
was heißt "nicht vorhanden"?
ist die entsprechende Zelle leer oder gibt der Anwender nicht 3 sondern nur 2 oder weniger Parameter in der Funktion an?
wenn die Entsprechende Zelle leer ist, dann kannst du das mit der Funktion IF ISEMPTY(a) prüfen.
Gruß, Daniel
Kannst Du den Code der UDF posten ?
18.05.2009 22:46:47
NoNet
Hallo helmi,
zu leichteren Analyse wäre es hilfreich, wenn Du den Code Deiner FUNCTION, den Aufruf und die Werte der übergebenen Parameter posten würdest.
Falls die FUNCTION nicht immer alle Parameter benötigt, dann könntest Du diese OPTIONAL definieren :
Function DeineFunktion(intA, Optional intB, Optional intC) as Integer
=> der erste Parameter MUSS immer angegeben werden, der 2. und 3. Parameter nicht unbedingt, z.B. so :
MsgBox DeineFunktion(3) 'Funktioniert
MsgBox DeineFunktion(3, 4) 'funktioniert
MsgBox DeineFunktion(3, 4, 5) 'funktioniert
MsgBox DeineFunktion() 'funktioniert nicht

In der FUNCTION kannst Du überprüfen, welcher Parameter angegeben wurde :
If IsMissing(intB) then 'Wenn Parameter 2 nicht angegeben wurde
Oder falls der Typ der Parameter nicht vorbestimmt ist :
If varType(intB)=vbString then 'Wenn Parameter 2 ein Text ist
Und falls (beliebig) viele unterschiedliche Parameter übergeben werden können, dann schau dir auch mal die Onlinehilfe zu PARAMARRAY an.
Gruß, NoNet
Anzeige
Langer Rede kurzer Sinn - hier mal ein Bsp...
19.05.2009 01:24:52
Luc:-?
...für das, was gemeint ist, Helmi...

Function Splitt(Bezug, Optional ByVal Trenner As String = " ", Optional ByVal FDarst = "")
If IsError(Bezug) Then Splitt = FDarst Else Splitt = Split(Bezug, Trenner)
End Function


Das liefert dann im TabBlatt bspw Folgendes...


=Splitt(#NV)
#NV 	=Splitt(#NV;;#NV)
FALSCH	=Splitt(#NV;;FALSCH)


Was die udFkt sonst noch kann, wirst du schon rauskriegen... ;-)
Gruß Luc :-?

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige