Many of the Project Euler questions deal with prime numbers, tests of primality, prime factors, and factors of a number. It behooves one to build a library of functions to address these "core" functions. My library of functions is below.
The first function returns all the factors of a number including 1 and the number itself.
Function getFactors(X)
'Returns all the factors of the number X including 1 and the number itself. _
Please ensure X contains an acceptable number including one of the decimal _
data type
Dim Rslt(), I As Variant
ReDim Rslt(1): Rslt(0) = 1: Rslt(1) = X
For I = 2 To Int(Sqr(X))
If Int(X / I) = X / I Then
ReDim Preserve Rslt(UBound(Rslt) + 2)
Rslt(UBound(Rslt) - 1) = I
If I <> X / I Then Rslt(UBound(Rslt)) = X / I Else ReDim Preserve Rslt(UBound(Rslt) - 1)
End If
Next I
getFactors = Rslt
End Function