Sub FWP()
Dim i As Integer
Dim j As Integer
Dim n As Integer
n = Range("A1").Value
For i = 1 To n
For j = 1 To n
If Cells(i + 1, j) = 0 Then
Cells(i + 1, j).Value = Int(((n^2) - 1 + 1) * Rnd + 1)
ElseIf Cells(i + 1, j) <> 0 Then
Cells(i + 1, j).Value = Cells(i + 1, j).Value
End If
Next j
Next i
我试图做家庭作业的问题,要求填写缺少魔方空间中VBA的一部分已经的arent的网格。它被设置为一个(n x n)
矩阵,其中有n^2个数字;我需要填充的空间由矩阵中的零表示。到目前为止,我有一些代码检查每个单独的单元格值,如果不是0,将保留单独的值,如果值为0,则用1和n^2之间的随机数替换它们。问题是,显然我得到了一些重复的值,这是不允许的,每个数字只能有一个。VBA:添加随机号码,在网格
我该如何编码,以便网格中不会出现重复的数字? 我试图把在一个检查功能,看看他们是否已经在网格中,但我不知道该怎么办呢
感谢
我会先扫描矩阵并将值存储在数组或字典中,然后在用随机数填充空白之前检查新生成的数字是否在数组(或字典)中。 – CMArg
好吧,所以我把矩阵放在一个数组中,但我仍然不确定如何编码它以检查新生成的数字是否在该数组中。 – HWhite
嗨,欢迎来到StackOverflow。请直接在问题中包含您的代码,这样人们将能够更轻松地为您提供帮助。 –