(um número perfeito é um número inteiro para o qual a soma de todos os seus divisores positivos próprios (excluindo ele mesmo) é igual ao próprio número.) Por exemplo 6 é perfeito pois ele é a soma de 1 , 2, 3.
CODIGO VBA
[code=vb]Function EhPrimo(numero As Long) As Boolean ' Função para verificar se o número é primo
Dim i As Long, j As Long
Dim r As Boolean
r = True
For i = 2 To numero - 1
If numero Mod i = 0 Then
r = False
Exit For
Else
End If
Next
EhPrimo = r
End Function
Sub NumeroPerfeito()
Dim n As Single
Dim i As Long
Dim r As Single
Dim T As Long
Dim j As Long
n = Cells(10, 1).Value
If n >= 1 Then
For i = 1 To n
T = ((2 ^ i) - 1)
If EhPrimo(T) = True Then
Cells(12 + i, 1).Value = (2 ^ (i - 1)) * ((2 ^ i) - 1)
Else
End If
Next
End If
End Sub[/code]
Ele resolve assim, nao aparece os 10 primeiros