//MSDN
Randomizar
Para gerar um número inteiro aleatório dentro de um intervalo, use a seguinte fórmula: Int((limite superior-inferior+1)*Rnd+limite inferior)
Aqui, o limite superior é o limite superior do intervalo de números aleatórios e o limite inferior é o limite inferior do intervalo de números aleatórios.
----A função aleatória em VB é Rnd, mas durante o processo de uso, descobri que embora os valores gerados após o início do programa sejam aleatórios, o programa irá gerar a mesma sequência de números aleatórios toda vez que for reiniciado. O que devo fazer?
----O protótipo da função aleatória em VB é: Rnd(número). A função Rnd retorna um valor menor que 1, mas maior ou igual a 0. O valor de number (opcional) determina como Rnd gera números aleatórios. Devido à determinação da forma de gerar números aleatórios, toda vez que a função aleatória for iniciada, a semente inicialmente dada irá gerar a mesma sequência, pois toda vez que a função Rnd for chamada, o número anterior na sequência é usado como semente para o próximo número.
---- Para ter uma sequência de números aleatórios diferente toda vez que o programa em execução chama a função aleatória, antes de chamar Rnd, primeiro use a instrução Randomize sem parâmetros para inicializar o gerador de números aleatórios, que possui uma semente obtida de acordo com o temporizador do sistema Dessa forma, se você chamar Rnd novamente, obterá uma sequência numérica aleatória diferente.
----Além disso, de acordo com o princípio de funcionamento do Randomize, os usuários também podem compilar suas próprias funções aleatórias, ou seja, usar a função Timer para obter o número de segundos que se passaram da meia-noite até agora, e então "calcular" o valor de acordo com o tamanho do valor aleatório a ser obtido no processamento, o valor obtido desta forma pode ser chamado de valor verdadeiramente aleatório.