|  
                                             
	Argumente werden standardmäßig ByRef übergeben, d.h. einfach gesagt: Wenn du dieses innerhalb der Funktion änderst, änderst du es auch außerhalb. 
	Wie gesagt, alles wird ByRef, auch ohne explizite Angabe, übergeben (im Beispiel trifft das also auch auf a und b zu, man könnte diese also auch manipulieren, sind diese ByVal übergeben worden, dann wirkt sich das nicht mehr nach außen hin aus). 
Option Explicit
Public Function Test(a As Double, b As Double, ByRef c As Double) As Boolean
  On Error GoTo ENDE
  c = a / b
  Test = True
Exit Function
ENDE:
  Test = False
End Function
Public Sub Function_Call()
  
  Dim dblWert1 As Double
  Dim dblWert2 As Double
  Dim dblErg As Double
  
  dblWert1 = 1
  dblWert2 = 0
  
  If Test(dblWert1, dblWert2, dblErg) Then
    MsgBox "Erg = " & dblErg, Title:="OK"
  Else
    MsgBox "Fehler"
  End If
End Sub
	Gruß 
     |