Try these two macros. The second creates a randomised version.
Sub Test()
For N = 1 To 10
For M = 1 To 5
Counter = Counter + 1
Cells(N, M) = Counter
Next M
Next N
End Sub
Sub Test2()
For N = 1 To 10
For M = 1 To 5
MatrixSize = MatrixSize + 1
Next M
Next N
Dim MatrixArray()
ReDim MatrixArray(MatrixSize)
For N = 1 To 10
For M = 1 To 5
TryAgain:
X = Int((Rnd() * MatrixSize)) + 1
UsedAlready = False
For Y = 1 To MatrixSize
If MatrixArray(Y) = X Then
UsedAlready = True
Exit For
End If
Next Y
If UsedAlready = False Then
Cells(N, M) = X
For P = 1 To MatrixSize
If MatrixArray(P) = "" Then
MatrixArray(P) = X
Exit For
End If
Next P
MatrixArray(P) = X
Else
GoTo TryAgain
End If
Next M
Next N
End Sub
Bookmarks