配列のデータをランダムに取得したい
Rnd関数を使用すれば、ランダムに数値を取得する事が可能です。
配列からランダムでデータ取得するのも応用すれば、簡単に取得可能です。
Public Sub sample() Dim arr() As Variant '■配列を定義 arr = Array("aaa", "bbb", "ccc", "ddd", "eee") '■ランダム初期化 Randomize '■ランダムに配列からデータを取得 Debug.Print arr(Int((UBound(arr) - LBound(arr) + 1) * rnd + LBound(arr))) 'ddd Debug.Print arr(Int((UBound(arr) - LBound(arr) + 1) * rnd + LBound(arr))) 'eee Debug.Print arr(Int((UBound(arr) - LBound(arr) + 1) * rnd + LBound(arr))) 'aaa End Sub
注意点
- Rnd関数を使用前にRandmizeで乱数を初期化しましょう。
しないと保存してブック閉じる→再度開くと前回と同じ値を取得してしまいます。
コメント