Sum

Min

Max

Attribute VB_Name = "Loops"
' Visustin demo module
' Demonstrates flowcharting of loops

Function Sum(ParamArray Values())
' Return the sum of values passed to this function
' Sum("a","b","c") returns "abc"
' Sum(-10, -100) returns -110

' Iterate over all Values
For i = LBound(Values) To UBound(Values)
' Add each value to Total
Total = Total + Values(i)
Next

' Return the total
Sum = Total

End Function

Function Min(ParamArray Values())
' Return the smallest value passed to this function
' Min("a","b","c") returns "a"
' Min(-10, -100) returns -100
' Example of Do While .. Loop

' Let i be the first index
i = LBound(Values, 1)

Min = Values(i) ' Store the first value

' Compare all values to Min except the first one
Do While i < UBound(Values, 1)
i = i + 1
If Min > Values(i) Then Min = Values(i)
Loop

End Function

Function Max(ParamArray Values())
' Return the largest value passed to this function
' Max("a","b","c") returns "c"
' Max(-10, -100) returns -10
' Example of Do .. Loop Until

Max = Values(UBound(Values, 1)) ' Store the last value

' Compare all values to Max
' starting with the first value
i = LBound(Values, 1)

Do
If Max < Values(i) Then Max = Values(i)
i = i + 1
Loop Until i >= UBound(Values, 1) ' Can quit without comparing the last value

End Function