Innholdsfortegnelse
Denne artikkelen illustrerer 4 eksempler på tilfeldig tallgenerator uten duplikater ved bruk av VBA i Excel. Her bruker vi Excels innebygde Rnd-funksjon for å konfigurere koden vår. La oss dykke ned i eksemplene for å lære teknikkene for å generere unike tilfeldige tall.
Last ned øvelsesarbeidsbok
Last ned denne øvelsesarbeidsboken for å trene mens du leser denne artikkelen.
Random Number Generator uten duplikater.xlsm
4 eksempler på Random Number Generator uten duplikater i Excel VBA
Skriv kode i Visual Basic Editor
For å generere tilfeldige tall uten duplikater , må vi åpne og skrive VBA kode i visual basic editor. Følg trinnene for å åpne den visuelle grunnleggende editoren og skriv litt kode der.
- Gå til Utvikler fanen fra Excel-båndet .
- Klikk alternativet Visual Basic.
- I vinduet Visual Basic For Applications klikker du på rullegardinmenyen Sett inn for å velge den Ny modul alternativ.
Legg inn koden i visuell koderedigering og trykk F5 for å kjøre det.
1. Bruk av VBA Rnd-funksjonen for å generere tilfeldige tall uten duplikater
Rnd-funksjonen brukes i Excel VBA til generer tilfeldige tall som er mellom 0 og 1 eksklusiv.
Oppgave : Generer 10 tilfeldige tall mellom 0 og 1 i cellene A1:A10.
Kode : Sett inn følgende kode i visual basic editor og trykk F5 for å kjøre det.
1603
Utgang : Skjermbildet ovenfor viser 10 unike tilfeldige tall i -området 0 og 1.
Kodeforklaring:
I denne koden brukte vi Rnd-funksjonen å sette inn tilfeldige tall i celleområdet A1:A10 . Før vi satte inn et nytt nummer , brukte vi en Do While Loop for å se etter nummeret i forhåndsdefinert celleområde (A1:A10) om det allerede eksisterer eller ikke . For å sjekke eksistensen av nummeret i celleområdet hver gang, konfigurerte vi koden med COUNTIF-funksjonen , denne funksjonen sjekker et nytt tilfeldig tall i listen over allerede eksisterende tall før det settes inn.
Les mer : Excel-formel for å generere tilfeldige tall (5 eksempler)
2. Tilfeldig tallgenerator for definert nedre og øvre grense uten duplikater
For å generere tilfeldige tall innenfor et definert område , må vi angi nedre grense og øvre grense i vår VBA-kode. For informasjon er nedre grense det laveste tallet og øvre grense er det høyeste tallet i området for tilfeldig tallgeneratoren. Vi kan bruke følgende formel i koden vår.
(øvre grense – nedre grense + 1) * Rnd + nedre grense
2.1 Tilfeldig Tallgenerator- Desimal
Oppgave : Generer 10 tilfeldige tall mellom 10 og 20 i celler A1:A10.
Kode : Sett inn følgende kode i visual basic editoren og trykk F5 for å kjøre det.
7076
Utgang : Skjermbildet ovenfor viser 10 unike tilfeldige tall i -området 1 og 10.
2.2 Random Number Generator- Heltall
I denne illustrasjonen bruker vi VBA Int funksjon for å fjerne brøkdelen fra tilfeldige tall .
Oppgave : Generer 20 tilfeldige heltall mellom 1 og 20 i cellene A1:B10.
Kode : Sett inn følgende kode i visual basic editoren og trykk F5 for å kjøre det.
3176
Utdata : Skjermbildet ovenfor viser 20 unike tilfeldige heltall i -området 1 og 20.
Les mer: Random Number Generator i Excel uten repetisjoner (9 metoder)
Lignende avlesninger
- Rendom Number Generator med dataanalyseverktøy og funksjoner i Excel
- Hvordan Generer tilfeldige data i Excel (9Enkle metoder)
- Tilfeldig 5-sifret tallgenerator i Excel (7 eksempler)
- Tilfeldig 4-sifret tallgenerator i Excel (8 eksempler)
- Generer tilfeldig tall fra liste i Excel (4 måter)
3. Spesifiser desimalplasser for Unique Random Number Generator i Excel VBA
Vi kan bruke Round-funksjonen i koden vår for å spesifisere antall av desimaltall i de tilfeldig genererte unike tallene . syntaksen til funksjonen er-
Round(uttrykk, [talldesimalplasser])
Vi må spesifisere andre argument i henhold til vårt krav .
Oppgave : Generer 20 tilfeldige tall med 2 desimaler mellom 1 og 20 i cellene A1:B10.
Kode : Sett inn følgende kode i visual basic editoren og trykk F5 for å kjøre det.
6456
Utgang : Skjermbildet ovenfor viser 20 unike tilfeldige heltall med 2 desimaler i -området 1 og 20.
Les mer: Generer tilfeldig tall i Excel med desimaler (3 metoder)
4. Utvikle et brukerskjema for tilfeldig tallgenerator uten duplikater i Excel VBA
I denne illustrasjonen viser vi hvordan du bruker en UserForm i Excel VBA for å generere tilfeldige tall uten ingen duplikater .
Oppgave: Generer20 tilfeldige tall i celleområdet A1:B10 ved å bruke en UserForm med inndataverdiene (i) nedre grense (ii) øvre grense (iii) antall desimaler.
Opprett et brukerskjema:
Følg trinnene nedenfor for å lage et brukerskjema med våre ønskede inndatafelter .
- Gå til Utvikler fanen fra Excel-båndet .
- Klikk Visual Grunnleggende alternativ.
- I vinduet Visual Basic For Applications klikker du på rullegardinmenyen Sett inn for å velge alternativet UserForm .
- I UserForm legg til en etikett .
- Tillegg etiketten som Lower Bound i egenskapene.
- Legg til to til etiketter navngitt Upperbund og Desimalplasser .
- Legg nå til tre tekstbokser i Brukerskjemaet .
- På dette stadiet legger du til en Kommandoknapp og gir den navnet Generer .
- Nå dobbeltklikker du kommandoknappen og legg inn følgende kode i koderedigeringsprogrammet .
4205
- Trykk F5 for å kjøre koden og Brukerskjemaet har dukket opp .
- Sett inn nedre grense , øvre grense, og tallet av desimaltall i Brukerskjemaet og trykk på GenererKnapp .
Utdata : I cellene A1:B10 er det 20 tilfeldige tall med 2 desimaler i området fra 1 til 30.
Les mer: Hvordan generere tilfeldige tall uten duplikater i Excel (7 måter)
Ting å huske
- Vi kan også bruke Fiksfunksjon i stedet for Int-funksjonen for å generere unike heltall . Funksjonen fjerner brøkdelen av et tall akkurat som Int-funksjonen .
Konklusjon
Nå vet vi hvordan vi genererer unike tilfeldige tall ved hjelp av VBA i Excel ved hjelp av passende eksempler. Forhåpentligvis vil det hjelpe deg å bruke funksjonaliteten mer selvsikkert. Eventuelle spørsmål eller forslag, ikke glem å sette dem i kommentarfeltet nedenfor.