Graciaaaaas, ahora no da error, peeeeeeero...
Deberia devolver true con 6...
Mira asi hago en vb:
Código:
Private Sub Form_Load()
MsgBox IsPerfectNumber(6)
End Sub
Public Function IsPerfectNumber(ByVal lNumber As Long) As Boolean
Dim x As Long
Dim i As Long
For x = 1 To lNumber - 1
If (lNumber Mod x = 0) Then i = i + x
Next
If i = lNumber Then IsPerfectNumber = True
End Function
Me podrias ayudar un pco mas?
Muchas gracias