Я пытаюсь найти наибольший простой делитель числа x. Когда x меньше 1 миллиарда, мой код работает, но когда он больше 1 миллиарда, он дает ошибку переполнения, и отладка выделяет строку с модом в ней.
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