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。請直接在問題中包含您的代碼,這樣人們將能夠更輕鬆地爲您提供幫助。 –