Táboa de contidos
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.