Thema Datum  Von Nutzer Rating
Antwort
Rot Mehrere Variablen einer Function zurückgeben
04.06.2014 09:54:17 Christoph
NotSolved
04.06.2014 13:30:08 Gast22298
*****
NotSolved
04.06.2014 13:54:34 Gast86226
NotSolved
04.06.2014 14:22:23 Gast1480
NotSolved
06.06.2014 08:36:53 Gast84744
NotSolved
06.06.2014 08:51:29 Gast36702
NotSolved

Ansicht des Beitrags:
Von:
Christoph
Datum:
04.06.2014 09:54:17
Views:
2827
Rating: Antwort:
  Ja
Thema:
Mehrere Variablen einer Function zurückgeben

Hallo zusammen,

ich habe folgendes Problem.

Ich habe eine Funktion, die 2 Variablen zurückgeben soll, das Ergebnis der Funktion als solches und eine Variablen, die den Status des Durchlaufs (zum Fehler abfangen) zurückgibt. Ich habe dies mit einer collection "gelöst".

Bsp: (Funktion die einfach a durch b teilt)

Public Function Test(a As Double, b As Double) As Collection

    Dim flag As Boolean
    flag = True
    Dim result As Collection
    Set result = New Collection
    Dim c As Double
    
    On Error GoTo ENDE
        c = a / b
        result.Add (flag)
        result.Add (c)
        Set Test = result
        Exit Function
    
ENDE:
    flag = False
    result.Add (flag)
    Set Test = result
    
End Function

Public Sub Function_Call()

    Dim a As Double, b  As Double
    Dim result As Collection
    Set result = New Collection
    
    a = 1
    b = 0
    Set result = Test(a, b)

End Sub

Im hier dargestellten Beispiel ist b=0 und wegen "Division by zero" ist result(1)=False und result(2) nicht gesetzt. Für b<>0 ist result(1)=Wahr und result(2) enthält das Ergebnis von a/b. Das klappt alles soweit wunderbar.

Mein Problem ist nun, dass ich den Namen der Funktion Test(a,b) als String habe und diese mit Evaluate ausführen möchte. Hintergrund ist, dass es eigentlich nicht nur Test gibt sondern noch ganz viele andere Funktionen und der Name der jeweiligen Funktion eben in einem String steht.

Weder

Dim func As String
func = "Set result = Test(a, b)"
Evaluate (func)

noch

Dim func As String
func = "Test(a, b)"
Set result = Evaluate(func)

funktionieren. Wäre super, wenn mir jemand helfen könnte. Vielleicht gibt es ja auch eine bessere Lösung, um 2 Variablen zurückzugeben. Danke!

Christoph

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Mehrere Variablen einer Function zurückgeben
04.06.2014 09:54:17 Christoph
NotSolved
04.06.2014 13:30:08 Gast22298
*****
NotSolved
04.06.2014 13:54:34 Gast86226
NotSolved
04.06.2014 14:22:23 Gast1480
NotSolved
06.06.2014 08:36:53 Gast84744
NotSolved
06.06.2014 08:51:29 Gast36702
NotSolved