Dim DIC As Object, mKey Dim i As Integer, rd As Integer, no As Integer Set DIC = CreateObject("Scripting.Dictionary") For i = 1 To 52 '連想配列の作成。 DIC.Add i, i Next For i = 52 To 1 Step -1 rd = getRandom(1, i) '1~iの範囲でランダム値を得る自作関数。これは自分で作る! mKey = DIC.keys no = mKey(rd - 1) 'ここで得た数値を使用する。 'Debug.Print "i=" & i & ",rd=" & rd & ",no=" & no DIC.Remove no '使用した数値を削除。 Next
※使用例としてはトランプ。もっと良い方法があると思います。