Função Rnd
Devolve um Único contendo um número pseudo-aleatório.
Sintaxe
Rnd [ (Número) ]
O argumentonúmero opcional é uma expressãonumérica única ou qualquer expressão numérica válida.
Valores de retorno
Se o Número for | Rnd gera |
---|---|
Menor que zero | O mesmo número sempre, utilizando Número como a semente. |
Maior que zero | O número seguinte na sequência pseudo-aleatória. |
Igual a zero | O número gerado mais recentemente. |
Não fornecido | O número seguinte na sequência pseudo-aleatória. |
Comentários
A função Rnd devolve um valor inferior a 1, mas maior ou igual a zero.
O valor de Number determina como Rnd gera um número pseudo-aleatório:
Para uma determinada semente inicial, é gerada a mesma sequência de números porque cada chamada sucessiva para a função Rnd utiliza o número anterior como uma semente para o número seguinte na sequência.
Antes de chamar Rnd, utilize a instrução Randomize sem um argumento para inicializar o gerador de números aleatórios com uma semente baseada no temporizador do sistema.
Para produzir números inteiros aleatórios num determinado intervalo, utilize esta fórmula:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Aqui, a entrada superior é o número mais alto do intervalo e a entrada mais baixa é o número mais baixo no intervalo.
Observação
Para repetir sequências de números aleatórios, chame Rnd com um argumento negativo imediatamente antes de utilizar Randomize com um argumento numérico. A utilização de Randomize com o mesmo valor para Número não repete a sequência anterior.
Exemplo
Este exemplo utiliza a função Rnd para gerar um valor inteiro aleatório de 1 a 6.
Dim MyValue As Integer
MyValue = Int((6 * Rnd) + 1) ' Generate random value between 1 and 6.
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.