|  
                                             
	Hallo, 
	 
	wenn die Funktion als Text vorliegt, scheint Evaluate den byRef übergebenen Wert nicht zurückzugeben, 
	zudem erhält man bei Eingabe von Nichtganzen Zahlen einen TypenFehler; 
	mit Application.Run könnt's gehen: 
Option Explicit
Public Sub Main()  'Main aufrufen....
 Dim dblA As Double, dblB As Double
 Dim strValA As String, strValB As String, _
   strFunc As String
 dblA = 6.867  '8
 dblB = 2.2    '0
 If Not dblA = CDbl(CInt(dblA)) Then
   strValA = Replace$(CStr(dblA), ",", ";", 1)
 Else
   strValA = CStr(dblA)
 End If
 If Not dblB = CDbl(CInt(dblB)) Then
   strValB = Replace$(CStr(dblB), ",", ";", 1)
 Else
   strValB = CStr(dblB)
 End If
strFunc = "fncArrResult" & "(" & strValA & "," & strValB & ")"
Call prcRunFunc(strFunc)
End Sub
Private Sub prcRunFunc(strFunc As String)
Dim vntArrReturn As Variant
vntArrReturn = Application.Run(Mid$(strFunc, 1, InStr(1, strFunc, "(", vbTextCompare) - 1), _
    CDbl(Replace$(Mid$(strFunc, InStr(1, strFunc, "(", vbTextCompare) + 1, InStr(1, strFunc, ",", vbTextCompare) - 1 - InStr(1, strFunc, "(", vbTextCompare)), ";", ",", 1)), _
    CDbl(Replace$(Mid$(strFunc, InStr(1, strFunc, ",", vbTextCompare) + 1, InStr(1, strFunc, ")", vbTextCompare) - 1 - InStr(1, strFunc, ",", vbTextCompare)), ";", ",", 1)))
MsgBox "Ergebnis:  " & CDbl(vntArrReturn(1)) & vbCr & _
     "Fehler:  " & CBool(vntArrReturn(2))
End Sub
Private Function fncArrResult(dblA As Double, dblB As Double) As Variant()
  Dim vntArrTemp(1 To 2) As Variant
  On Error GoTo Sub_Exit
  vntArrTemp(1) = dblA / dblB
  vntArrTemp(2) = False
Sub_Exit:
  If Err.Number <> 0 Then
    vntArrTemp(1) = Empty
    vntArrTemp(2) = True
  End If
  fncArrResult = vntArrTemp
End Function
	Gruß, 
     |