Excel VBA: generador de números aleatoris sense duplicats (4 exemples)

  • Comparteix Això
Hugh West

Aquest article il·lustra 4 exemples de generador de números aleatoris sense duplicats amb VBA a Excel. Aquí farem servir la funció Rnd integrada d'Excel per configurar el nostre codi. Aprofundim en els exemples per aprendre les tècniques per generar números aleatoris únics.

Descarregueu el quadern de pràctiques

Descarregueu aquest quadern de pràctiques per fer exercici mentre llegiu aquest article.

Generador de números aleatoris sense duplicats.xlsm

4 exemples de generador de números aleatoris sense duplicats a Excel VBA

Escriure codi a Visual Basic Editor

Per generar números aleatoris sense duplicats , hem d' obrir i escriure VBA codi a l'editor visual basic. Seguiu els passos per obrir l' editor visual basic i escriure-hi codi.

  • Vés a >Pestanya Desenvolupador de la Cinta d'Excel .
  • Feu clic a l'opció Visual Basic.

  • A la finestra Visual Basic per a aplicacions , feu clic al menú desplegable Insereix per seleccionar el Nou mòdul. opció.

Ara poseu el vostre codi dins de l' editor de codi visual i prem F5 per executar-lo .

1. Ús de la funció VBA Rnd per generar números aleatoris sense duplicats

La funció Rnd s'utilitza a Excel VBA a genera nombres aleatoris que estan entre 0 i 1 exclusiu.

Tasca : Generar 10 números aleatoris entre 0 i 1 a cel·les A1:A10.

Codi : Inseriu el codi següent a l' editor visual bàsic i premeu F5 per executar-lo .

8390

Sortida : la captura de pantalla anterior mostra 10 números aleatoris únics en l'interval de 0 i 1.

Explicació del codi:

En aquest codi, hem utilitzat la funció Rnd per inserir números aleatoris a l' interval de cel·les A1:A10 . Abans d' inserir un número nou , hem utilitzat un Do While Loop per buscar el número al 1>interval de cel·les predefinit (A1:A10) si ja existeix o no . Per comprovar l' existència del número a l' interval de cel·les cada vegada, hem configurat el codi amb la funció COUNTIF , aquesta funció comprova un número aleatori nou a la llista de números ja existents abans d'inserir-lo.

Més informació : Fórmula d'Excel per generar números aleatoris (5 exemples)

2. Generador de nombres aleatoris per a límits inferiors i superiors definits sense duplicats

Per generar números aleatoris dins d'un interval definit , hem de establiu el límit inferior i el límit superior al nostre codi VBA. Per obtenir informació, el límit inferior és el número més baix i el el límit superior és el número més alt de l' interval per al generador de números aleatoris. Podem utilitzar la següent fórmula al nostre codi.

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

2.1 Aleatori Generador de números: decimal

Tasca : Genera 10 números aleatoris entre 10 i 20 a cel·les A1:A10.

Codi : Inseriu el codi següent a l' editor visual basic i premeu F5 per executar-lo .

3180

Sortida : la captura de pantalla anterior mostra 10 números aleatoris únics en l'interval d'1 i 10.

2.2 Generador de nombres aleatoris - Enter

En aquesta il·lustració, utilitzarem el Funció VBA Int per eliminar la part fraccionària dels números aleatoris .

Tasca : Genereu 20 nombres enters aleatoris entre 1 i 20 a les cel·les A1:B10.

Codi : Inseriu el codi següent a l' editor visual basic i premeu F5 per executar-lo .

3797

Sortida : la captura de pantalla anterior mostra 20 nombres enters aleatoris únics en el rang d'1 i 20.

Llegir més: Generador de números aleatoris a Excel sense repeticions (9 mètodes)

Lectures similars

  • Generador de números aleatoris amb eina d'anàlisi de dades i funcions a Excel
  • Com Genera dades aleatòries en Excel (9Mètodes fàcils)
  • Generador de números aleatoris de 5 dígits a Excel (7 exemples)
  • Generador de números aleatoris de 4 dígits a Excel (8 exemples)
  • Genera un nombre aleatori a partir de la llista en Excel (4 maneres)

3. Especifiqueu llocs decimals per al generador de números aleatoris únics a Excel VBA

Podem utilitzar la funció arrodonida al nostre codi per especificar el nombre de posicions decimals en els números únics generats aleatòriament . La sintaxi de la funció és-

Rodona (expressió, [numdecimalplaces])

Hem d' especificar el 2n argument segons el nostre requisit .

Tasca : Genereu 20 nombres aleatoris amb 2 decimals entre 1 i 20 a cel·les A1:B10.

Codi : Inseriu el codi següent a l' editor visual basic i premeu F5 per executar-lo.

5416

Sortida : la captura de pantalla anterior mostra 20 nombres enters aleatoris únics amb 2 decimals a l'interval d'1 i 20.

Llegir més: Genereu un nombre aleatori a Excel amb decimals (3 mètodes)

4. Desenvolupa un formulari d'usuari per al generador de números aleatoris sense duplicats a Excel VBA

En aquesta il·lustració, mostrarem com utilitzar un Formulari d'usuari a Excel VBA per generar números aleatoris sense sense duplicats .

Tasca: Generar20 números aleatoris a l'interval de cel·les A1:B10 utilitzant un Formulari d'usuari amb els valors d'entrada (i) límit inferior (ii) límit superior (iii) nombre de decimals.

Creeu un formulari d'usuari:

Seguiu els passos següents per crear un Formulari d'usuari amb els nostres camps d'entrada desitjats .

  • Aneu a la pestanya Desenvolupador des de la Cinta d'Excel .
  • Feu clic a a Visual Opció bàsica.

  • A la finestra Visual Basic per a aplicacions , feu clic al menú desplegable Insereix per seleccionar l'opció UserForm .

  • A UserForm afegeix a etiqueta .
  • Etiqueta etiqueta com a Límit inferior a les propietats.

  • Afegiu dues més etiquetes anomenades Upperbund i DecimalPlaces .

  • Ara afegiu tres quadres de text al Formulari d'usuari .

  • En aquesta etapa, afegiu a CommandButton i anomeneu-lo Genera .

  • Ara, feu doble clic al Botó d'ordres i poseu el codi següent a l' editor de codi .
6039

  • Premeu F5 per executar el codi i el Formulari d'usuari ha aparegut .
  • Poseu el límit inferior , límit superior, i el número de posicions decimals al Formulari d'usuari i premeu GeneraBotó .

Sortida : a cel·les A1:B10 , hi ha 20 aleatòries nombres amb 2 posicions decimals en l'interval de l'1 al 30.

Més informació: Com generar números aleatoris sense duplicats a Excel (7 maneres)

Coses per recordar

  • També podríem utilitzar el Corregiu la funció en lloc de la funció Int per generar nombres enters únics . La funció elimina la part fraccionària d'un número igual que la funció Int .

Conclusió

Ara, sabem com generar números aleatoris únics mitjançant VBA a Excel amb l'ajuda d'exemples adequats. Amb sort, us ajudaria a utilitzar la funcionalitat amb més confiança. Qualsevol pregunta o suggeriment no us oblideu de posar-los al quadre de comentaris a continuació.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.