Wprowadzenie do losowej liczby VBA

W programie Excel mamy funkcję o nazwie RAND, która służy do generowania liczb losowych. Tak jak mamy funkcję RND w VBA, która służy do generowania liczb losowych. Funkcja RND generuje liczby większe niż 0, ale mniejsze niż 1.

Składnia liczby losowej w Excelu VBA

Składnia funkcji liczb losowych programu Excel VBA jest następująca:

Widzimy w powyższej składni funkcji RND, możemy użyć tylko jednej liczby jako danych wejściowych.

Dajemy dane wejściowe w funkcji RND na poniżej 3 sposoby;

  1. Jeśli podamy liczbę <0, wygeneruje ten sam numer za każdym razem, gdy uruchomimy kod.
  2. Jeśli podamy liczbę jako 0, pojawi się najnowszy numer, który został wygenerowany.
  3. Jeśli podamy liczbę> 0, będzie generować różne liczby losowe. Ale będzie to po kolei.

Jak korzystać z funkcji Excel Random Number?

Zobaczmy przykłady liczb losowych w Excelu VBA.

Możesz pobrać ten szablon Excel VBA Random Number Excel tutaj - Szablon Excel VBA Random Number

Przykład # 1 - Losowy numer VBA

Krok 1: Możemy to bezpośrednio zastosować do VBA. W tym celu przejdź do okna VBA i otwórz moduł z menu Wstaw, jak pokazano poniżej.

Krok 2: Gdy to zrobimy, otrzymamy okno modułu w VBA. W tym module wpisz podkategorię numeru losowego VBA pod tą samą nazwą lub pod dowolną inną nazwą, zgodnie z własnym wyborem.

Kod:

 Sub RandomNumber () End Sub 

Krok 3: Teraz wybierz słowo lub alfabet i zdefiniuj je jako zmienną i przypisz do niego Double . Rozważamy tutaj zmienną Dim A i przekazujemy ją do Double . Przydatne będzie wybranie podwójnego zamiast Integer, ponieważ zobaczymy wartości dziesiętne z zakresu od 0 do 1.

Kod:

 Sub RandomNumber () Dim A As Double End Sub 

Krok 4: Teraz użyjemy zmiennej A, którą zdefiniowaliśmy powyżej i przypiszemy jej funkcję Rnd do generowania liczb losowych, jak pokazano poniżej.

Kod:

 Sub RandomNumber () Dim A As Double A = Rnd (End Sub 

Krok 5: Jak widać na powyższym zrzucie ekranu, funkcja RND ma składnię jako liczbę i będzie to liczba jednocyfrowa. Zobaczymy, jak wygenerowanie liczby mniejszej niż 0 wygeneruje? Tak więc w nawiasach funkcji RND wstaw -1, która jest najnowszą liczbą mniejszą niż 0.

Kod:

 Sub RandomNumber () Dim A As Double A = Rnd (-1) End Sub 

Krok 6: W końcu, aby uzyskać wynik, potrzebujemy odwołania do komórki lub okna komunikatu, w którym będzie ona odzwierciedlać liczbę losową. Wstaw komendę Msgbox w oknie komunikatu i przypisz tutaj zdefiniowaną zmienną.

Kod:

 Sub RandomNumber () Dim A As Double A = Rnd (-1) MsgBox A End Sub 

Krok 7: Teraz możemy skompilować kod i uruchomić go, klikając przycisk odtwarzania poniżej paska menu. Zobaczymy pierwszą wygenerowaną liczbę losową, która jest mniejsza niż 0, czyli 0.2240070104599, jak pokazano poniżej.

Jeśli ponownie uruchomimy kod, będzie on generował ten sam kod wielokrotnie.

Przykład 2 - Losowa liczba VBA

Widzieliśmy, jak generować liczby losowe, które są mniejsze niż 0. Istnieje inny sposób uzyskiwania liczb losowych. W tym przykładzie wygenerujemy liczbę losową, podając 0 jako dane wejściowe do funkcji RND .

W tym celu użyjemy tego samego kodu użytego w przykładzie 1.

Krok 1: Teraz zamiast -1, który jest między nawiasami funkcji RND, ustaw 0.

Kod:

 Sub RandomNumber () Dim A As Double A = Rnd (0) MsgBox A End Sub 

Krok 2: Możemy skompilować kod, jeśli to konieczne, lub uruchomić bezpośrednio, naciskając klawisz F5 (klawisz skrótu), aby uruchomić kod. Widzimy, że funkcja RND wygenerowała tę samą liczbę, która została wygenerowana, gdy podaliśmy dane wejściowe mniejsze niż 0. Oznacza to, że jeśli podamy 0 jako wejściową funkcję RND, wygeneruje ona poprzednio wygenerowaną liczbę.

A jeśli ponownie uruchomimy kod, będzie on nadal podawał ten sam losowy numer.

Przykład # 3 - Losowa liczba VBA

W tym przykładzie zobaczymy, co się stanie, jeśli podamy wartość większą niż 0. Możemy napisać nowy kod lub dokonać zmian w kodzie, który napisaliśmy powyżej. Rozważmy kod, który widzieliśmy powyżej.

Krok 1: Ponieważ musimy przetestować liczbę większą niż 0, więc w funkcji RND użyj pustego pola i dodaj +1 dla wartości większych niż 1, jak pokazano poniżej.

Kod:

 Sub RandomNumber () Dim A As Double A = 1 + Rnd () MsgBox A End Sub 

Krok 2: Skompiluj kod, jeśli chcesz, a następnie uruchom kod. Zobaczymy, że wygenerowana liczba losowa jest inna niż liczba, która została wygenerowana wcześniej. Poniżej znajduje się zrzut ekranu, który pokazuje, że liczba losowa to ułamek 1, 035… .41 . Który jest większy niż 0.

Jeśli ponownie uruchomimy ten sam kod, będziemy otrzymywać różne liczby losowe. Mamy więc zaraz po ponownym uruchomieniu kodu. Tym razem otrzymane liczby losowe są podwójną wartością naruszenia w porównaniu z liczbą losową wygenerowaną wcześniej.

Plusy losowej liczby VBA

  1. Wydaje się trudne, ale jest łatwe do zastosowania.
  2. Jest to bardzo przydatne, gdy pracujemy nad losowym generowaniem numerów biletów.
  3. Proces pokazany w przykładzie 3 może być zaimplementowany na wiele różnych sposobów.

Rzeczy do zapamiętania

  • Można to zaimplementować za pomocą funkcji MS Excel również pod nazwą funkcji RAND.
  • Najpierw testujemy przykład 2, zanim uruchomimy kod przykładu 2. Ponieważ faktycznie pokaże, jaka była wcześniej wygenerowana liczba.
  • Testowanie funkcji RND poprzez pozostawienie pustych nawiasów da nam również liczbę losową.
  • Jeśli przypiszemy zmienną jako liczbę całkowitą, otrzymamy tylko liczby całkowite, które będą takie same, jak gdyby 0 lub 1.
  • Jeśli użyjemy liczb dwucyfrowych jako danych wejściowych w funkcji RND, wówczas również wygeneruje liczbę losową.

Polecane artykuły

To jest przewodnik po losowej liczbie VBA. Tutaj omawiamy sposób generowania liczby losowej w VBA Excel za pomocą funkcji RND wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. VBA InStr wyjaśniono za pomocą przykładów
  2. Typ danych VBA Integer
  3. Jak wybrać komórkę za pomocą kodu VBA?
  4. Transponuj zakres w VBA

Kategoria: