Randomizar VBA do Excel

VBA Randomize é a função usada para criar a função de número aleatório que é RND. Todos sabemos que o VBA RND é usado para criar números aleatórios que são usados ​​principalmente para cobrança, aumentar números de tickets e muitos aplicativos. Aqui, o VBA Randomize é usado para alterar o valor da semente que alimentamos para a função RND. Para uma melhor compreensão, estamos usando a função RND para obter os números aleatórios e, em seguida, usando a função Randomizar com RND, que fornecerá mais variedade de números aleatórios. Conforme ele muda no valor de entrada de semente pelo qual a saída também é alterada. O que significa que ele gerará os números conforme a entrada de semente é fornecida na função RND e o número gerado estará no mesmo intervalo.

O principal sobre o VBA Randomize é que ele não possui nenhuma sintaxe. Nós apenas precisamos usá-lo junto com a função RND, que tem a sintaxe para aplicar.

Como aleatorizar um número no Excel VBA?

Abaixo estão os diferentes exemplos para randomizar um número no Excel usando a função VBA Rnd.

Você pode fazer o download deste modelo VBA Randomize Excel aqui - Modelo VBA Randomize Excel

Aleatório VBA do Excel - Exemplo # 1

É muito fácil criar números aleatórios personalizados pelo VBA Randomize. Para isso, siga as etapas abaixo:

Etapa 1: Vá para a janela VBA, na guia menu Inserir, selecione Módulo como mostrado abaixo.

Etapa 2: Agora escreva a subcategoria do VBA Randomize ou podemos usar qualquer nome para definir o código do VBA.

Código:

 Sub VBA_Randomize () End Sub 

Etapa 3: Agora defina uma variável. Aqui, consideramos a variável RNum como tipo de dados Double. A lógica por trás do uso do Double é que obteremos pequenas alterações nos números aleatórios gerados. Double nos ajudará a ver os números em decimais.

Código:

 Sub VBA_Randomize () Dim RNum As Double End Sub 

Etapa 4: Agora atribua a função VBA RND à variável definida RNum .

Código:

 Sub VBA_Randomize () Dim RNum As Double RNum = Rnd End Sub 

Etapa 5: Agora, para ver a geração de números aleatórios, usaremos o Debug.Print, usado para imprimir a mensagem.

Código:

 Sub VBA_Randomize () Dim RNum As Double RNum = Rnd Debug.Print RNum End Sub 

Etapa 6: para ver a geração de valor ou número, abra a Janela Imediata na lista do menu Exibir. Ou podemos usar uma tecla de atalho como Ctrl + G para obter esta janela.

Etapa 7: Agora compile o código e execute-o clicando no botão Reproduzir, localizado abaixo da barra de menus. Veremos o primeiro número aleatório na janela imediata, como mostrado abaixo.

E se executarmos o código várias vezes, veremos mais alguns números aleatórios.

Etapa 8: Agora, se aplicarmos a função Randomize before RND, ela alterará a entrada inicial que a função RND estava recebendo.

Código:

 Sub VBA_Randomize () Dim RNum como aleatório duplo RNum = Rnd Debug.Print RNum End Sub 

Etapa 9: execute novamente o código várias vezes para ver quais números estão sendo gerados.

É assim que a função Randomize funciona no VBA, se usada com a função RND .

Vamos ver mais algumas experiências com a mesma codificação. Agora usaremos a função CInt com RND, que é usada para conversão de tipo de dados. O que significa que ele converterá o número aleatório gerado como Duplo em Inteiros.

Código:

 Sub VBA_Randomize1 () Dim RNum como RNum duplo = CInt (Rnd) Debug.Print RNum End Sub 

Agora, execute novamente o código. Vamos ver, agora os números aleatórios estão sendo gerados como números inteiros. Mas os valores estão no intervalo de 0 e 1.

Já vimos, se continuarmos usando o Double, os valores ficarão entre 0 e 1. Isso ocorre porque usamos Randomize junto com a função RND. Agora vamos multiplicar a função RND por qualquer número. Digamos 20.

Código:

 Sub VBA_Randomize1 () Dim RNum como duplo RNum = CInt (Rnd * 20) Debug.Print RNum End Sub 

Agora, execute novamente o código.

Agora a cena mudou. Os valores aleatórios gerados são maiores que 0, mas menores que 20.

Aleatório VBA do Excel - Exemplo # 2

Há outra maneira de ver como o VBA Randomize funciona. Aplicaremos alguma fórmula matemática junto com Randomize e veremos como randomizar ajuda na geração de valores aleatórios. Mas neste exemplo, veremos a saída na caixa de mensagem. Para isso, siga as etapas abaixo:

Etapa 1: em um módulo, escreva a subcategoria de VBA Randomize, como mostrado abaixo.

Código:

 Sub VBA_Randomize2 () End Sub 

Etapa 2: considere a mesma variável que definimos no último exemplo, mas como Inteiro.

Código:

 Sub VBA_Randomize2 () Dim RNum como número inteiro final Sub 

Etapa 3: Agora selecione a função Randomizar aqui antes de começarmos a colocar a fórmula matemática.

Código:

 Sub VBA_Randomize2 () Dim RNum como inteiro aleatório final Sub 

Etapa 4: Agora considere qualquer fórmula matemática, como adição, subtração, conforme sua exigência, como mostrado abaixo.

Código:

 Sub VBA_Randomize2 () Dim RNum como número inteiro Randomize RNum = Int ((300 - 200 + 1) End Sub 

Etapa 5: Agora use a função RND como mostrado abaixo.

Código:

 Sub VBA_Randomize2 () Dim RNum como número inteiro Randomize RNum = Int ((300 - 200 + 1) * Rnd + 200) End Sub 

Você notou que usamos a maior parte da expressão matemática que geralmente é usada.

Etapa 6: Agora use Msgbox com uma variável definida para ver os números aleatórios gerados.

Código:

 Sub VBA_Randomize2 () Dim RNum como número inteiro Randomize RNum = Int ((300 - 200 + 1) * Rnd + 200) MsgBox RNum End Sub 

Etapa 7: agora execute o código. Obteremos um número aleatório como 234. Isso ocorre porque o número é multiplicado por (300-200 + 1) e depois adicionado por 200. O que significa que o número aleatório é de natureza bem menos e, devido às expressões matemáticas usadas, é chegando como 234.

E executarmos o código novamente, ele nos dará a mensagem como 294 .

Profissionais do Excel VBA Randomize

  • Podemos gerar qualquer número aleatório entre os intervalos que desejamos.
  • À medida que o alcance se torna limitado, mas ainda não há limite para a geração de números aleatórios.
  • Podemos limitar o intervalo de geração de números aleatórios que seria maior que 0.

Coisas para lembrar

  • O Randomize também pode ser usado com diferentes funções. Mas, usar isso com a função RND fornece o resultado que precisamos.
  • Randomize fornece números aleatórios entre 0 e 1 se usado sozinho com o RND.
  • Se usarmos qualquer outro número ou expressão matemática com o RND, então Randomize será gerado, os números aleatórios entre o valor mais alto poderão ser gerados.
  • Depois de concluído, salve o arquivo no formato Macro Ativar Excel.
  • A randomização pode ser usada onde for necessário gerar os números aleatórios, mas entre algumas entradas iniciais de intervalo.

Artigos recomendados

Este é um guia para o VBA Randomize. Aqui discutimos como aleatorizar um número no Excel usando o código VBA, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Gravar arquivo de texto no Excel VBA
  2. Gere números aleatórios no Excel
  3. Declaração de variável VBA do Excel
  4. Zeros à esquerda do Excel (exemplos)

Categoria: