Introdução ao número aleatório do VBA

No Excel, temos uma função chamada RAND que é usada para gerar os números aleatórios. Então, como temos a função RND no VBA, que é usada para gerar números aleatórios. A função RND gera números que são maiores que 0, mas menores que 1.

Sintaxe do número aleatório no Excel VBA

A sintaxe da função Número Aleatório do Excel VBA é a seguinte:

Podemos ver na sintaxe da função RND acima, apenas podemos usar um único número como entrada.

Fornecemos a entrada na função RND abaixo de 3 maneiras;

  1. Se dermos o número <0, ele gerará o mesmo número toda vez que executarmos o código.
  2. Se atribuirmos um número como 0, ele exibirá o número mais recente que foi gerado.
  3. Se dermos número> 0, ele continuará gerando números aleatórios diferentes. Mas será em sequência.

Como usar a função de número aleatório do Excel?

Vamos ver os exemplos de número aleatório no Excel VBA.

Você pode fazer o download deste modelo de número aleatório do VBA Excel aqui - Modelo de número aleatório do VBA Excel

Exemplo # 1 - Número aleatório do VBA

Etapa 1: isso podemos aplicar diretamente ao VBA. Para isso, vá para a janela VBA e abra um módulo no menu Inserir, como mostrado abaixo.

Etapa 2: Assim que fizermos isso, obteremos uma janela do Módulo no VBA. Nesse módulo, escreva a subcategoria de Número aleatório do VBA no mesmo nome ou em qualquer nome, conforme sua escolha.

Código:

 Sub RandomNumber () End Sub 

Etapa 3: agora escolha uma palavra ou alfabeto e defina-a como uma variável e atribua o dobro a ela. Aqui estamos considerando a variável Dim A e a dou para Double . Selecionar duplo em vez de Inteiro será útil, pois veremos valores decimais que estão entre 0 e 1.

Código:

 Sub RandomNumber () Dim A As Double End Sub 

Etapa 4: Agora, em seguida, usaremos a variável A, que definimos acima, e atribuiremos a ela uma função Rnd para gerar números aleatórios, como mostrado abaixo.

Código:

 Sub RandomNumber () Dim A como duplo A = Rnd (End Sub 

Etapa 5: Como podemos ver na captura de tela acima, a função RND tem a sintaxe como o número e esse será um número de um dígito. Aqui vamos ver como dar um número menor que 0 irá gerar o que? Assim, entre parênteses da função RND, insira -1, que é o número mais recente menor que 0.

Código:

 Sub RandomNumber () Dim A como duplo A = Rnd (-1) End Sub 

Etapa 6: Finalmente, para obter a saída, precisamos da referência da célula ou de uma caixa de mensagem onde ela refletirá o número aleatório. Insira o comando Msgbox da caixa de mensagem e atribua a variável definida aqui.

Código:

 Sub RandomNumber () Dim A como duplo A = Rnd (-1) MsgBox A End Sub 

Etapa 7: Agora podemos compilar o código e executá-lo clicando no botão play abaixo da barra de menus. Veremos o primeiro número aleatório gerado, menor que 0, que é 0, 2240070104599, como mostrado abaixo.

Se executarmos novamente o código, ele continuará gerando o mesmo código repetidamente.

Exemplo # 2 - Número aleatório do VBA

Vimos como gerar números aleatórios menores que 0. Existe outra maneira de obter números aleatórios. Neste exemplo, geraremos o número aleatório, fornecendo 0 como uma entrada para a função RND .

Para isso, usaremos o mesmo código usado no exemplo-1.

Etapa 1: Agora no lugar de -1, que está entre os colchetes da Função RND, coloque 0.

Código:

 Sub RandomNumber () Dim A como duplo A = Rnd (0) MsgBox A End Sub 

Etapa 2: podemos compilar o código, se necessário, ou executar diretamente pressionando a tecla F5 (tecla de atalho) para executar o código. Podemos ver que a função RND gerou o mesmo número que foi gerado quando fornecemos uma entrada menor que 0. O que significa que, se fornecermos 0 como uma função RND de entrada, ela gerará o número gerado anteriormente.

E se executarmos o código novamente, ele continuará fornecendo o mesmo número aleatório.

Exemplo # 3 - Número aleatório do VBA

Neste exemplo, veremos o que acontecerá se atribuirmos um valor maior que 0. Podemos optar por escrever um novo código ou fazer as alterações no código que escrevemos acima. Vamos considerar o código que vimos acima.

Etapa 1: como precisamos testar o número maior que 0, na função RND, use em branco e adicione +1 para valores maiores que 1, como mostrado abaixo.

Código:

 Sub RandomNumber () Dim A como duplo A = 1 + Rnd () MsgBox A End Sub 

Etapa 2: compile o código se desejar e, em seguida, execute o código. Veremos que o número aleatório gerado é diferente do número gerado anteriormente. Abaixo está a captura de tela, que mostra que o número aleatório está na fração de 1.035… .41 . Qual é maior que 0.

Se executarmos o mesmo código novamente, continuaremos obtendo números aleatórios diferentes. Então, conseguimos logo depois de executar o código novamente. Desta vez, os números aleatórios que obtemos são o valor da dupla infração em comparação com o número aleatório gerado anteriormente.

Profissionais do número aleatório do VBA

  1. Parece difícil, mas é fácil de aplicar.
  2. Isso é bastante útil quando estamos trabalhando na geração de números de ticket aleatoriamente.
  3. O processo mostrado no exemplo-3 pode ser implementado de várias maneiras diferentes.

Coisas para lembrar

  • Isso pode ser implementado através da função MS Excel também com o nome da função RAND.
  • Primeiro testamos o exemplo 2 antes de executar o código do exemplo 2. Porque na verdade mostrará qual foi o número gerado anteriormente.
  • Testar a função RND mantendo os colchetes em branco também nos dará um número aleatório.
  • Se atribuirmos a variável como Inteiro, obteremos apenas números inteiros que serão iguais a 0 ou 1.
  • Se usarmos números de dois dígitos como entrada na função RND, também gerará o número aleatório.

Artigos recomendados

Este é um guia para o Número aleatório do VBA. Aqui discutimos como gerar Número Aleatório no VBA Excel usando a Função RND, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. VBA InStr explicado com exemplos
  2. Tipo de dados inteiro VBA
  3. Como selecionar uma célula usando o código VBA?
  4. Transpor um intervalo no VBA

Categoria: