Wie kann man folgende Funktion aufrufen? Ich habe es probiert mit:
Sub
ggTTest()
Dim
Zahl(1)
As
Variant
Zahl(0) = 12
Zahl(1) = 33
Debug.Print ggT(Zahl())
End
Sub
Function
ggT(
ParamArray
Zahl()
As
Variant
)
As
Double
Dim
i
As
Integer
, ungültig
As
Boolean
Dim
a
As
Double
, b
As
Double
, Rest
As
Double
ungültig = (UBound(Zahl) = -1)
For
i = 0
To
UBound(Zahl)
ungültig = (ungültig
Or
Zahl(i) <= 0
Or
CStr
(Zahl(i)) <>
CStr
(Int(Zahl(i)))
Or
Zahl(i) >= 10 ^ 15)
Next
If
ungültig
Then
MsgBox
"Ungültiger Parameterwert!"
, vbCritical:
Stop
Select
Case
UBound(Zahl)
Case
0: ggT = Zahl(0)
Case
1
If
Zahl(0) > Zahl(1)
Then
a = Zahl(0): b = Zahl(1)
Else
a = Zahl(1): b = Zahl(0)
End
If
Do
Rest = Divisionsrest(a, b)
If
Rest = 0
Then
Exit
Do
a = b
b = Rest
Loop
ggT = b
Case
Else
ggT = Zahl(0)
For
i = 1
To
UBound(Zahl)
ggT = ggT(ggT, Zahl(i))
Next
End
Select
End
Function