Funkcja Rnd VBA – Jak zwrócić liczbę losową

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.

NumberCo generuje funkcja
-1Funkcja przy kolejnych losowaniach powtarza liczbę wcześniej wylosowaną przez funkcję.
1Kolejna liczba losowa w sekwencji.
0Najczęściej generowana liczba losowa.
bez wskazaniaKolejna 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)
Funkcje VBA Excel – Funkcja Rnd VBA
Funkcje VBA Excel – Funkcja Rnd VBA

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.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

%d bloggers like this: