2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« VBAのDir()関数のワイルドカードは誤動作する。 | トップページ | ASCII文字を判定する。 »

2008年3月12日 (水)

配列をシャッフルする。

VBAとVBScriptで、これが一番簡単。

Sub Shuffle(a)
Dim k, j As Long
Dim t
Randomize
For k = UBound(a) To 0 Step -1
  j = Fix(Rnd * (k + 1))
  t = a(j)
  a(j) = a(k)
  a(k) = t
Next
End Sub

Dim a
Dim k As Long
a = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
Call Shuffle(a)
For k = 0 To UBound(a)
  Debug.Print a(k)
'  WScript.Echo a(k)
Next

« VBAのDir()関数のワイルドカードは誤動作する。 | トップページ | ASCII文字を判定する。 »