Funkcja Rnd VBA zwraca liczbę losową z przedziału od 0 do 1. Funkcję możemy porównać do funkcji LOS w arkuszu Excel. Za pomocą tej funkcji losujemy liczbę. Działanie możemy zmodyfikować w dowolny sposób, by wylosować liczbę z dowolnego przedziału np od 0 do 100, lub od 500 do 1000. By to zrobić, powinniśmy używać funkcji Rnd VBA w połączeniu z funkcją zaokrąglającą VBA Round. Wzór na generowanie liczby całkowitej z dowolnego przedziału jest następujący: (początek przedziału) + Round(Rnd * (koniec_przedziału – początek przedziału),0). Jeśli chcemy w ten sposób wygenerować dowolną liczbę zmiennoprzecinkową, powinniśmy zastosować wzór bez funkcji Round, a więc: (początek przedziału) + Rnd * (koniec_przedziału – początek przedziału). Przykład losowania dowolnych liczb zamieszczony jest w punkcie 3.
'datatalk.pl Rnd([Number]) As Single
Number: Argument nieobowiązkowy. Możemy za jego pomoca określić, w jaki posób liczba losowa będzie generowana.
Number | Co generuje funkcja |
-1 | Funkcja przy kolejnych losowaniach powtarza liczbę wcześniej wylosowaną przez funkcję. |
1 | Kolejna liczba losowa w sekwencji. |
0 | Najczęściej generowana liczba losowa. |
bez wskazania | Kolejna liczba losowa w sekwencji. |
Zwrot funkcji: Single / Liczba
Jak używać funkcji Rnd w VBA Excel? Poniżej przykłady użycia funkcji Rnd w Edytorze VisualBasic.
Przykład 1: Losowanie liczby w VBA z przedziału 0-1. Wynik prezentowany w oknie MsgBox i komórkach arkusza.
'datatalk.pl MsgBox Rnd Range("A1") = Rnd
Przykład 2: Losowanie liczby w VBA z przedziału 0-100. Wynik prezentowany w oknie MsgBox i komórkach arkusza.
'datatalk.pl MsgBox Round(Rnd * 100, 0) Range("A2") = Round(Rnd * 100, 0)
Przykład 3: Losowanie liczby w VBA z przedziału 500-1000. Wynik prezentowany w oknie MsgBox i komórkach arkusza. W przykładzie liczba od 500 do 1000
'datatalk.pl MsgBox 500 + Round(Rnd * 500, 0) Range("A2") = 500 + Round(Rnd * 500, 0)
Funkcję możemy stosować w: Excel 2003, Excel 2007, Excel 2010, Excel 2013, Excel 2016.
Artykuł jest częścią listy funkcji VBA Excel. Listę wszystkich funkcji VBA znajdziesz pod tym adresem: Funkcje VBA.
W jaki sposób w Excel zmienić datę na pierwszy lub ostatni dzień miesiąca? W tym…
Średnia ważona w Excel - Jak ją obliczyć W tym przykładzie dowiesz się jak obliczyć…
Data i godzina w Excel - Jak ją szybko wstawić Jest wiele sposobów na wstawienie…
Dni robocze w Excel - Jak je obliczyć? Jeśli chcesz obliczyć dni robocze w Excel…
Kurs Excel - poziom podstawowy Kurs Excel od podstaw jest już opublikowany. Możesz z niego…
Jak w Excel zrobić pierwiastek inny niż drugiego stopnia Jeśli chcesz w Excel obliczyć pierwiastek…