About Me
Com tecnologia do Blogger.
Seguidores
Estatisticas
2007-08-17
201: VBA - Gerar números aleatórios com "rollup"
5:03 da tarde |
Publicada por
JRod - PORTUGAL |
Editar mensagem
A propósito de uma questão (adaptada) que me foi colocada, via e-mail: "É possivel fazer um sorteio com uma apresentação onde eu veja os números rodando em cada caixa até parar no número sorteado? Ou seja, o programa estará gerando os números randomicamente num determinado período. Digamos que para gerar a primeira dezena ele ficará randomicamente num loop de 100 voltas e o centésimo número gerado será a primeira dezena sorteada (unidades), e assim sucessivamente até a última dezena (dezenas, centenas e milhares). Porém eu gostaria de ver cada um dos números sendo exibidos mesmo que em frações de milésimos.É possível?", aproveitei um segmento de código que "apanhei" na net e introduzi-lhe algumas alterações, para obter o efeito desejado.
com a visualização de um "rollup" de números aleatórios até à sua fixação, seguindo-se a ordem descrita:
O Código:
Sub Macro1()
Dim i, z, choice, balls(10)
Range("A17").Select 'Para referência da ActiveCell
For i = 0 To 9
balls(i) = i
Next
Randomize Timer
For i = 4 To 1 Step -1 ' da direita para a esquerda
For z = 100 To 1 Step -1
choice = 1 + Int((Rnd * (10 - 1)))
ActiveCell.Offset(0, i - 1).Value = balls(choice)
Next z
balls(choice) = 0
Next
End Sub
Tópicos relacionados: