|
一度削除してしまいました。
現在数独を作っているのですが縦横のマスは1〜9までバラバラに入れるコードを自分で作りました。3×3ますに1〜9の入れ方が判らず困っています。
3×3ますに1〜9を入れたいと考えています。
どのようにすればよろしいでしょうか?宜しくお願いします
Sub 表()
Const n As Long = 9
Const m As Long = 9
Dim a(), i As Long, j As Long, k As Long
Dim b As Long, r As Long, u As Long
Randomize
ReDim a(1 To m, 1 To n)
For k = 1 To m
For i = 1 To n
a(k, i) = ((i + k) Mod n) + 1
Cells(k, i).Activate
Next
Next
For j = 1 To m
r = Int(Rnd * j) + 1
For i = 1 To n
b = a(j, i)
Cells(j, i).Activate
a(j, i) = a(r, i)
Cells(r, i).Activate
a(r, i) = b
Next
Next
For j = 1 To m
r = Int(Rnd * j) + 1
For i = 1 To n
b = a(i, j)
a(i, j) = a(i, r)
a(i, r) = b
Cells(i, r).Activate
Next
Next
Worksheets(1).Range("A1").Resize(m, n) = a
End Sub
|
|