This code throws an overflow exception when the code tries to assign a value of 40,000 to num2. However, num2 is a Long so it should be able to handle a 32 bit unsigned integer value. It is behaving as if it was an Integer data type (16 bit unsigned max 32,767).
Dim digit1 As Integer
Dim digit2 As Integer
Dim digit3 As Integer
Dim digit4 As Integer
Dim digit5 As Integer
Dim num1 As Long
Dim num2 As Long
For digit1 = 0 To 9
For digit2 = 0 To 9
For digit3 = 0 To 9
For digit4 = 0 To 9
For digit5 = 0 To 9
num1 = 10000 * digit1 + 1000 * digit2 + 100 * digit3 + 10 * digit4 + digit5
num2 = 10000 * digit5 + 1000 * digit1 + 100 * digit2 + 10 * digit3 + digit4
Debug.Print (num2)
If num2 = 2 * num1 Then
'MsgBox (num1)
Debug.Print (num1)
End If
Next
Next
Next
Next
Next
Bookmarks