Hier hast du was zum Spielen:
Kann bis zu 3 Parameter übergeben und ergebnis zurückliefern:
Aufruf z.B. wie hier:
Sub Schaltfläche1_Klicken()
TestTime "piep", False 'False weil keine Funktion
TestTime "Summ", True, 3, 7 ' True, weil Funktion
MsgBox ("Ergebnis=" + Str(Ergebnis)) ' Ergebnis der Funktion landet in "Ergebnis"
End Sub
Option Explicit
Public Ergebnis As Variant
Public Function summ(x, y)
Dim t
summ = x + y
t = Timer
While Timer - t < 5
Wend
End Function
Public Sub piep()
Beep
Beep
Beep
End Sub
Sub TestTime(Nam As String, func As Boolean, Optional Par1 As Variant = "*", Optional Par2 As Variant = "*", Optional Par3 As Variant = "*")
Dim FuncSub As String
Dim t As Variant
FuncSub = Nam
t = Timer
If Par1 = "*" Then
If func Then
Ergebnis = Application.Run(FuncSub)
Else
Application.Run FuncSub
End If
GoTo ende
End If
If Par2 = "*" Then
If func Then
Ergebnis = Application.Run(FuncSub, Par1)
Else
Application.Run FuncSub, Par1
End If
GoTo ende
End If
If Par3 = "*" Then
If func Then
Ergebnis = Application.Run(FuncSub, Par1, Par2)
Else
Application.Run FuncSub, Par1, Par2
End If
GoTo ende
End If
If func Then
Ergebnis = Application.Run(FuncSub, Par1, Par2, Par3)
Else
Application.Run FuncSub, Par1, Par2, Par3
End If
ende:
MsgBox (Nam + " Laufzeit " + Str(Timer - t) + " sec.")
End Sub
|