>>551
理論的に出せる
順番に n (0<=n<要素数) 番目の値と Rnd*(n+1) 番目の値を入れ替えればいい
元の並びはどうでもいい

でも俺だったらそんな効率の悪いことはしないな。
普通に人間が15個の配列から5つ取り出すのと同じことをやればいい。
俺もVBわからんからC風に書くけど

n = 5; m = 15;
for( i=0; i<n; ++i )
{
  j = (int)( Rnd()*m ); // 0<=rnd()<1 ってことで
  ResultArray[i] = OriginalArray[j];
  OriginalArray[j] = --m;
}