Excel VBA Randomize

VBA Randomize to funkcja używana do tworzenia funkcji liczb losowych, którą jest RND. Wszyscy wiemy, że VBA RND służy do tworzenia liczb losowych, które są głównie używane do fakturowania, podnoszenia numerów biletów i wiele aplikacji jest tam. Tutaj VBA Randomize służy do zmiany wartości nasion, które karmimy dla funkcji RND. Dla lepszego zrozumienia używamy funkcji RND do uzyskania liczb losowych, a następnie funkcji Randomize z RND, która da większą różnorodność liczb losowych. Gdy zmienia się wartość wejściowa materiału siewnego, o którą zmienia się również wyjście. Co oznacza, że ​​wygeneruje liczby zgodnie z danymi wejściowymi nasion podanymi w funkcji RND, a wygenerowana liczba będzie w tym samym zakresie.

Najważniejsze w VBA Randomize jest to, że nie ma on żadnej składni. Musimy go używać razem z funkcją RND, która ma składnię do zastosowania.

Jak losować liczbę w programie Excel VBA?

Poniżej znajdują się różne przykłady randomizacji liczby w programie Excel przy użyciu funkcji VBA Rnd.

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

Excel VBA Randomize - Przykład nr 1

Bardzo łatwo jest utworzyć niestandardowe liczby losowe za pomocą VBA Randomize. W tym celu wykonaj następujące kroki:

Krok 1: Przejdź do okna VBA, w zakładce menu Wstaw wybierz Moduł, jak pokazano poniżej.

Krok 2: Teraz napisz podkategorię VBA Randomize lub możemy użyć dowolnej nazwy, aby zdefiniować kod VBA.

Kod:

 Sub VBA_Randomize () End Sub 

Krok 3: Teraz zdefiniuj zmienną. Rozważaliśmy tutaj zmienną RNum jako typ danych Double. Logika wykorzystywania Double polega na tym, że otrzymamy niewielkie zmiany w generowanych liczbach losowych. Podwójnie pomoże nam zobaczyć liczby dziesiętne.

Kod:

 Sub VBA_Randomize () Dim RNum As Double End Sub 

Krok 4: Teraz przypisz funkcję VBA RND do zdefiniowanej zmiennej RNum .

Kod:

 Sub VBA_Randomize () Dim RNum As Double RNum = Rnd End Sub 

Krok 5: Teraz, aby zobaczyć generowanie liczb losowych, użyjemy Debug.Print, który jest używany do drukowania wiadomości.

Kod:

 Sub VBA_Randomize () Dim RNum As Double RNum = Rnd Debug.Print RNum End Sub 

Krok 6: Aby zobaczyć generowanie wartości lub liczb, otwórz okno natychmiastowe z listy menu Widok. Lub możemy użyć klawisza skrótu jako Ctrl + G, aby uzyskać to okno.

Krok 7: Teraz skompiluj kod i uruchom go, klikając przycisk Odtwórz znajdujący się pod paskiem menu. Pierwszy losowy numer zobaczymy w bezpośrednim oknie, jak pokazano poniżej.

Gdybyśmy uruchomili kod wielokrotnie i wielokrotnie, zobaczylibyśmy jeszcze kilka liczb losowych.

Krok 8: Teraz, jeśli zastosujemy Randomize przed funkcją RND, zmieni to dane wyjściowe, które otrzymywała funkcja RND.

Kod:

 Sub VBA_Randomize () Dim RNum As Double Randomize RNum = Rnd Debug.Print RNum End Sub 

Krok 9: Ponownie uruchom kod wiele razy, aby zobaczyć, jakie liczby są generowane.

Tak działa funkcja Randomize w VBA, jeśli jest używana z funkcją RND .

Zobaczmy trochę więcej eksperymentów z tym samym kodowaniem. Będziemy teraz używać funkcji CInt z RND, która jest używana do konwersji typu danych. Co oznacza, że ​​przekształci wygenerowaną liczbę losową jako Double na liczby całkowite.

Kod:

 Sub VBA_Randomize1 () Dim RNum As Double RNum = CInt (Rnd) Debug. Drukuj RNum End Sub 

Teraz ponownie uruchom kod. Zobaczymy, teraz losowe liczby są generowane jako liczby całkowite. Ale wartości mieszczą się w zakresie od 0 do 1.

Widzieliśmy już, że jeśli nadal będziemy używać Double, wartości będą zawierać się w przedziale od 0 do 1. Jest tak, ponieważ użyliśmy Randomize wraz z funkcją RND. Teraz pomnóżmy funkcję RND przez dowolną liczbę. Powiedzmy, że 20.

Kod:

 Sub VBA_Randomize1 () Dim RNum As Double RNum = CInt (Rnd * 20) Debugowanie. Drukuj RNum End Sub 

Teraz ponownie uruchom kod.

Teraz scena się zmienia. Generowane losowe wartości są większe niż 0, ale mniejsze niż 20.

Excel VBA Randomize - przykład nr 2

Jest inny sposób, aby zobaczyć, jak działa Randomize VBA. Zastosujemy pewną formułę matematyczną wraz z Randomize i zobaczymy, jak randomizować pomaga w generowaniu losowych wartości. Ale w tym przykładzie zobaczymy wynik w oknie komunikatu. W tym celu wykonaj następujące kroki:

Krok 1: W module napisz podkategorię VBA Randomize, jak pokazano poniżej.

Kod:

 Sub VBA_Randomize2 () End Sub 

Krok 2: Rozważ tę samą zmienną, którą zdefiniowaliśmy w ostatnim przykładzie, ale jako liczbę całkowitą.

Kod:

 Sub VBA_Randomize2 () Dim RNum Jako Integer End Sub 

Krok 3: Teraz wybierz tutaj funkcję Randomize, zanim zaczniemy wprowadzać wzór matematyczny.

Kod:

 Sub VBA_Randomize2 () Dim RNum As Integer Randomize End Sub 

Krok 4: Teraz rozważ każdą formułę matematyczną, taką jak dodawanie, odejmowanie zgodnie z wymaganiami, jak pokazano poniżej.

Kod:

 Sub VBA_Randomize2 () Dim RNum As Integer Randomize RNum = Int ((300 - 200 + 1) End Sub 

Krok 5: Teraz użyj funkcji RND, jak pokazano poniżej.

Kod:

 Sub VBA_Randomize2 () Dim RNum As Integer Randomize RNum = Int ((300 - 200 + 1) * Rnd + 200) End Sub 

Zauważyłeś, że użyliśmy większości wyrażeń matematycznych, które są powszechnie używane.

Krok 6: Teraz użyj Msgbox ze zdefiniowaną zmienną, aby zobaczyć wygenerowane liczby losowe.

Kod:

 Sub VBA_Randomize2 () Dim RNum As Integer Randomize RNum = Int ((300 - 200 + 1) * Rnd + 200) MsgBox RNum End Sub 

Krok 7: Teraz uruchom kod. Otrzymamy liczbę losową jako 234. Jest tak, ponieważ liczba ta jest mnożona przez (300-200 + 1), a następnie dodawana przez 200. Co oznacza, że ​​liczba losowa ma z natury mniejszy charakter i ze względu na zastosowane wyrażenia matematyczne jest to nadchodzi jako 234.

Ponownie uruchamiamy kod, co da nam komunikat jako 294 .

Plusy Excel VBA Randomize

  • Możemy wygenerować dowolną liczbę losową między dowolnymi zakresami, które chcemy.
  • Ponieważ zasięg staje się ograniczony, ale nadal nie ma ograniczeń w generowaniu liczb losowych.
  • Możemy ograniczyć zakres generowania liczb losowych, który byłby większy niż 0.

Rzeczy do zapamiętania

  • Randomize może być również używany z różnymi funkcjami. Ale użycie tego z funkcją RND daje wynik, którego potrzebujemy.
  • Randomize podaje liczby losowe od 0 do 1, jeśli są używane same z RND.
  • Jeśli użyjemy jakiejkolwiek innej liczby lub wyrażenia matematycznego z RND, wówczas Randomize zostanie wygenerowany losowe liczby między najwyższą wartością mogą być wygenerowane.
  • Po zakończeniu zapisz plik w formacie Macro Enable excel.
  • Randomize może być użyty tam, gdzie trzeba wygenerować liczby losowe, ale między niektórymi danymi wejściowymi zakresu.

Polecane artykuły

To jest przewodnik po VBA Randomize. Tutaj omawiamy, jak losować liczbę w programie Excel za pomocą kodu VBA, wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Napisz plik tekstowy w Excel VBA
  2. Generuj liczby losowe w programie Excel
  3. Deklaracja zmiennej Excel VBA
  4. Excel wiodące zera (przykłady)

Kategoria: