Ostatnio zaktualizowano: 8 marca, 2021 przez admin
1. Funkcja Rnd VBA – Opis
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.
2. Funkcja VBA Rnd – Składnia
'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
3. Funkcja VBA Rnd – Przykład
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)
4. Funkcja VB Rnd – Dodatkowe informacje
- Funkcja nie wymaga wprowadzania argumentów, ani stosowania nawiasów.
- Za pomocą funkcji możemy wygenerować dowolną liczbę całkowitą lub zmiennoprzecinkową.
- Wzór na generowanie liczby całkowitej z dowolnego przedziału jest nastepują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ę zminnoprzecinkową, powinniśmy zastosować wzór bez funkcji Round, a więc: (początek przedziału) + Rnd * (koniec_przedziału – początek przedziału).
5. Funkcja Rnd VisualBasic – Gdzie stosować?
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.