| 
    
     |  | ▼satoko さん: おはようございます。
 
 >解りづらくてすいません。つまり、
 例をもっと沢山提示しないとこの手の仕様を理解させるのは
 大変ですよ!!
 
 はっきりわかっていませんが・・・。
 
 >6.例えば1回目が【IGr:A,B,C】で【IIGr:D,E,F】で【IIIGr:G,H,I】のとき、
 >2回目は【IGr:A,D,G】【IIGr:B,E,F】【IIIGr:C,F,I】というように、
 >同じ組み合わせが無いようになるまで乱数の再計算を繰り返す…といった処理を行いたいのですが…。
 
 この例のみを取り上げてみると・・・、以前こんな投稿をしたことを
 思い出しました。
 
 www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=19957;id=excel
 
 
 新規ブックにて、↑の投稿の通りコードを配置して・・・。
 
 testというプロシジャーだけ以下と差し替えてください。
 
 Sub test()
 Dim g0 As Long
 Dim 組合せ As Variant
 Dim 組み分け数 As Long
 Dim pat(0, 1) As Variant
 Dim in_array As Variant
 組み分け数 = 3
 in_array = Array("A", "B", "C", "D", "E", "F", "G", "H", "I")
 pat(0, 0) = 3
 pat(0, 1) = 3
 組合せ = dist_array(in_array, "-", 組み分け数, pat())
 Range(Cells(1, 1), Cells(UBound(組合せ, 1) + 1, 組み分け数)).Value = 組合せ
 End Sub
 
 
 尚、リンク先のコードには未定義変数がたくさん使われています(反省)。
 よって、各モジュールの先頭行には、
 
 Option Explicit
 
 を付けないようにしてください。
 自動的に挿入されるような設定になっている場合、面倒でも削除してください。
 
 本来は、Option Explicit
 は付けた方が良いので、解読する気があるなら、御自分で変数宣言しても結構です。
 
 これで
 testを実行すれば、アクティブシートの先頭行から
 
 A-B-C    D-E-F    G-H-I
 A-B-C    D-E-G    F-H-I
 A-B-C    D-E-H    F-G-I
 A-B-C    D-E-I    F-G-H
 A-B-C    D-F-G    E-H-I
 ・
 ・
 ・
 こんなデータが表示されます。
 
 私のコードもそうですが、他の投稿者の投稿も非常にボリュームのある
 ものになっています。
 
 本当に
 >めちゃくちゃ初心者です
 なら、結構大変ですよ!!
 
 |  |