Excel VBA: xerador de números aleatorios sen duplicados (4 exemplos)

  • Comparte Isto
Hugh West

Este artigo ilustra 4 exemplos de xerador de números aleatorios sen duplicados usando VBA en Excel. Aquí usaremos a función Rnd integrada de Excel para configurar o noso código. Imos mergullar nos exemplos para aprender as técnicas para xerar números aleatorios únicos.

Descargar o libro de prácticas

Descarga este libro de prácticas para facer exercicio mentres lees este artigo.

Xerador de números aleatorios sen duplicados.xlsm

4 exemplos de xerador de números aleatorios sen duplicados en Excel VBA

Escribir código no Editor de Visual Basic

Para xerar números aleatorios sen duplicados , necesitamos abrir e escribir VBA código no editor visual basic. Sigue os pasos para abrir o editor Visual Basic e escribe algún código alí.

  • Vaia ao Pestana Desenvolvedor da Cinta de Excel .
  • Fai clic na opción Visual Basic.

  • Na xanela Visual Basic para aplicacións , faga clic no menú despregable Inserir para seleccionar o Novo módulo opción.

Agora pon o teu código dentro do editor de código visual e preme F5 para execútalo .

1. Uso da función VBA Rnd para xerar números aleatorios sen duplicados

A función Rnd úsase en Excel VBA a xerar números aleatorios que están entre 0 e 1 exclusivo.

Tarefa : Xerar 10 números aleatorios entre 0 e 1 en celas A1:A10.

Código : Insira o seguinte código no editor visual basic e prema F5 para execútalo.

4889

Saída : a captura de pantalla anterior mostra 10 números aleatorios únicos no intervalo de 0 e 1.

Explicación do código:

Neste código, usamos a función Rnd para inserir números aleatorios no intervalo de celas A1:A10 . Antes de inserir un novo número , utilizamos un Do While Loop para buscar o número no 1>intervalo de celas predefinido (A1:A10) se xa existe ou non . Para comprobar a existencia do número no intervalo de celas cada vez, configuramos o código coa función COUNTIF , esta función comproba un novo número aleatorio na lista de números xa existentes antes de inserilo.

Ler máis : Fórmula de Excel para xerar números aleatorios (5 exemplos)

2. Xerador de números aleatorios para límite inferior e superior definido sen duplicados

Para xerar números aleatorios dentro dun intervalo definido , necesitamos establece o límite inferior e límite superior no noso código VBA. Para obter información, o límite inferior é o número máis baixo e o límite superior é o número máis alto no intervalo para o xerador de números aleatorios. Podemos usar a seguinte fórmula no noso código.

(límite superior – límite inferior + 1) * Rnd + límite inferior

2.1 Aleatorio Xerador de números: decimal

Tarefa : Xerar 10 números aleatorios entre 10 e 20 en celas A1:A10.

Código : Insira o seguinte código no editor visual basic e prema F5 para execútalo.

2378

Saída : a captura de pantalla anterior mostra 10 números aleatorios únicos no intervalo de 1 e 10.

2.2 Xerador de números aleatorios - Enteiro

Nesta ilustración, usaremos o Función VBA Int para eliminar a parte fraccionaria dos números aleatorios .

Tarefa : Xera 20 números enteiros aleatorios entre 1 e 20 en celdas A1:B10.

Código : Insira o seguinte código no editor visual basic e prema F5 para execútalo.

5192

Saída : a captura de pantalla anterior mostra 20 números enteiros aleatorios únicos no intervalo de 1 e 20.

Ler máis: Xerador de números aleatorios en Excel sen repeticións (9 métodos)

Lecturas similares

  • Xerador de números aleatorios con ferramenta de análise de datos e funcións en Excel
  • Como Xerar datos aleatorios en Excel (9Métodos fáciles)
  • Xerador de números aleatorios de 5 díxitos en Excel (7 exemplos)
  • Xerador de números aleatorios de 4 díxitos en Excel (8 exemplos)
  • Xerar número aleatorio a partir da lista en Excel (4 xeitos)

3. Especificar lugares decimais para o xerador de números aleatorios únicos en Excel VBA

Podemos usar a función de redondeo no noso código para especificar o número de lugares decimais nos números únicos xerados aleatoriamente . A sintaxe da función é-

Redondear(expresión, [numdecimalplaces])

Necesitamos especificar o 2º argumento segundo o noso requisito .

Tarefa : Xerar 20 números aleatorios con 2 decimais entre 1 e 20 en celas A1:B10.

Código : Insira o seguinte código no editor visual basic e prema F5 para execútalo.

6050

Saída : a captura de pantalla anterior mostra 20 números enteiros aleatorios únicos con 2 decimais no intervalo de 1 e 20.

Ler máis: Xerar números aleatorios en Excel con decimais (3 métodos)

4. Desenvolve un formulario de usuario para o xerador de números aleatorios sen duplicados en Excel VBA

Nesta ilustración, mostraremos como usar un Formulario de usuario en Excel VBA para xerar números aleatorios sen sen duplicados .

Tarefa: Xerar20 números aleatorios no intervalo de celas A1:B10 usando un Formulario de usuario cos valores de entrada (i) límite inferior (ii) límite superior (iii) número de cifras decimais.

Crear un formulario de usuario:

Siga os pasos seguintes para crear un Formulario de usuario cos nosos campos de entrada desexados .

  • Vaia á pestana Desenvolvedor desde a Cinta de Excel .
  • Fai clic en o Visual Opción básica.

  • Na xanela Visual Basic para aplicacións , faga clic no menú despregable Inserir para seleccionar a opción UserForm .

  • No UserForm engadir a etiqueta .
  • Etiqueta etiqueta como Límite inferior nas propiedades.

  • Engadir dúas máis etiquetas chamadas Upperbund e DecimalPlaces .

  • Agora engade tres caixas de texto no Formulario de usuario .

  • Neste momento, engade un CommandButton e ponlle o nome Xerar .

  • Agora, faga dobre clic no CommandButton e coloque o seguinte código no editor de códigos .
6094

  • Preme F5 para executar o código e o Formulario de usuario apareceu .
  • Pon o límite inferior , límite superior, e o número de lugares decimais no Formulario de usuario e prema o XerarBotón .

Saída : en celdas A1:B10 , hai 20 aleatorios números con 2 cifras decimais no intervalo de 1 a 30.

Ler máis: Como xerar números aleatorios sen duplicados en Excel (7 xeitos)

Cousas para recordar

  • Tamén poderiamos usar o Función de corrección en lugar da función Int para xerar números enteiros únicos . A función elimina a parte fraccionaria dun número igual que a función Int .

Conclusión

Agora, sabemos como xerar números aleatorios únicos usando VBA en Excel coa axuda de exemplos axeitados. Agardamos que che axude a usar a funcionalidade con máis confianza. Calquera dúbida ou suxestión non esquezas poñelas na caixa de comentarios a continuación.

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.