Como usar a instrução Randomize no VBA?

No VBA (Visual Basic for Applications), a instrução `Randomize` é usada para inicializar o gerador de números aleatórios com um valor de semente. Isso é útil para garantir que você obtenha uma sequência diferente de números aleatórios cada vez que executa seu programa, o que pode ser importante em várias aplicações, como simulações ou jogos.

Aqui está um exemplo de como usar a instrução `Randomize` no VBA:

Sub GerarNumeroAleatorio()
    ' Inicializa o gerador de números aleatórios
    Randomize
    
    ' Gera um número aleatório entre 0 e 1
    Dim numeroAleatorio As Double
    numeroAleatorio = Rnd
    
    ' Exibe o número gerado na janela de mensagens
    MsgBox numeroAleatorio
End Sub

Detalhes importantes:

   Sub MesmaSequencia()
       ' Usa 42 como semente para gerar sempre a mesma sequência
       Randomize 42
       
       ' Exemplo de números gerados
       MsgBox Rnd
       MsgBox Rnd
       MsgBox Rnd
   End Sub
   Dim numeroEntre1e10 As Integer
   numeroEntre1e10 = Int((10 - 1 + 1) * Rnd + 1)
  • Randomize sem argumentos: Quando você chama `Randomize` sem argumentos, ele usa a hora atual do sistema como semente. Isso resulta em diferentes sequências de números a cada execução do código.
  • Randomize com argumento: Você pode fornecer um argumento numérico para `Randomize`, que será usado como a semente diretamente. Isso pode ser útil se você deseja reproduzir a mesma sequência de números aleatórios em diferentes execuções do seu programa. Veja um exemplo:
  • Rnd sem Randomize: Se você usar `Rnd` sem ter chamado `Randomize` anteriormente, o VBA usa automaticamente a mesma semente inicial toda vez que o programa é executado, gerando assim a mesma sequência de números aleatórios.
  • Aplicações práticas: Para obter um número aleatório dentro de um intervalo específico, você pode escalar o valor retornado pelo `Rnd`. Por exemplo, para obter um número aleatório entre 1 e 10:

Lembre-se de que o uso de `Randomize` é importante quando você quer que os resultados sejam “verdadeiramente” aleatórios em diferentes sessões de execução de seu programa.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project