Bem amigos, estava a fazer uma macro pra gerar uma sequência de 15 números random entre 1 e 25 e observei que ao invés disso, ele está apenas gerando uma sequência, como se já houvesse um caminho predefinido! Se eu abro ela e mando ela gerar os 15 números três vezes, e eu fecho a planilha e abro ela novamente, e mando ela gerar novamente três vezes, ela gerar os mesmos três de antes na mesma ordem! Não entendi até agora onde pode haver um erro, pois o processo é pautado na geração de números aleatórios.
O código é este abaixo e gostaria de saber se alguém identifica o erro.
Sub RANDOM()
Dim num As Integer
Dim en As String
Dim cont As String
cont = 0
'Apaga os 15 números de antes
Range("T9", "AH9").Value = ""
'Guarda o endereço do primeiro número
Range("T9").Select
en = ActiveCell.Address
'Gera o primeiro número aleatório e coloca na célula
num = Int((25 - 1 + 1) * Rnd + 1)
ActiveCell = num
Do While cont <> "14"
deu:
'Gera o segundo número aleatório e vai pra primeira célula
num = Int((25 - 1 + 1) * Rnd + 1)
Range(en).Select
'Testa se é repetido, se não for, vai pra célula da direita testar novamente até chegar numa célula vazia
Do While ActiveCell <> ""
If ActiveCell = num Then
GoTo deu
Else
ActiveCell.Offset(0, 1).Select
End If
Loop
'Coloca na célula vazia o valor
ActiveCell = num
'Adiciona uma unidade até chegar em 14 e parar a repetição
cont = cont + 1
Loop
End Sub
Postado : 25/06/2017 12:08 am