2017年11月
      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文字を判定する。 »