| 
    
     |  | ランダムに数字を振り分けて、各列で指定のそれぞれの数字の数を指定して振り分けたいのですが、下記のようなバラバラに振り分けるのではなくA列の3・4を3を4つ、4を3つという感じに条件付けたいんですが可能でしょうか? A B C D E F
 3 1 3 0    4 0
 3 2 3 1    3 1
 3 2 3 2 4 2
 3 0 3 1    4 1
 4 1 3 0    4 1
 3 1 3 1    3 1
 4 1 3 0 3 0
 
 因みに、勤務表を自動で作成するのが最終目的です。
 自分で作成したのを載せておきます。
 ----------------------------------------------------
 Sub サンプル()
 
 Dim intMax As Integer
 Dim intMin As Integer
 Dim i As Integer
 Dim k As Integer
 
 intMax = 4
 intMin = 3
 
 Randomize
 
 For i = 1 To 10
 For k = 0 To 4 Step 2
 For R = 7 To 12 Step 2
 For t = 15 To 20 Step 2
 For s = 23 To 28 Step 2
 Cells(i + 1, k + 1) = Int((intMax - intMin + 1) * Rnd + intMin)
 Cells(i + 1, R + 1) = Int((intMax - intMin + 1) * Rnd + intMin)
 Cells(i + 1, t + 1) = Int((intMax - intMin + 1) * Rnd + intMin)
 Cells(i + 1, s + 1) = Int((intMax - intMin + 1) * Rnd + intMin)
 Next s
 Next t
 Next R
 Next k
 Next i
 
 
 intMax = 2
 intMin = 0
 
 Randomize
 
 For i = 1 To 10
 For k = 1 To 5 Step 2
 For R = 8 To 13 Step 2
 For t = 16 To 21 Step 2
 For s = 24 To 29 Step 2
 Cells(i + 1, k + 1) = Int((intMax - intMin + 1) * Rnd + intMin)
 Cells(i + 1, R + 1) = Int((intMax - intMin + 1) * Rnd + intMin)
 Cells(i + 1, t + 1) = Int((intMax - intMin + 1) * Rnd + intMin)
 Cells(i + 1, s + 1) = Int((intMax - intMin + 1) * Rnd + intMin)
 Next s
 Next t
 Next R
 Next k
 Next i
 
 End Sub
 -------------------------------------------------
 もっとスマートなのがあれば手直しお願いいたします。
 
 |  |