配列のデータをランダムに取得したい
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で乱数を初期化しましょう。
しないと保存してブック閉じる→再度開くと前回と同じ値を取得してしまいます。



コメント