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.