数xの最大の素数除数を見つけようとしています。xが10億より小さい場合、私のコードは機能しますが、10億より大きい場合、オーバーフローエラーが発生し、デバッグによってModが含まれる行が強調表示されます。
Sub Largest_Divisor()
Dim x As Double
Dim Q As Integer
Q = 0
Dim L() As Double
x = 999999999#
Dim i As Double
For i = 775145 To 3 Step -2
If x Mod i = 0 Then
If IsPrime(i) Then
ReDim Preserve L(Q) As Double
L(Q) = i
Q = Q + 1
End If
End If
Next i
MsgBox (Application.Max(L))
End Sub