我想創建一個基本上會根據用戶輸入返回隨機數的宏,但是,我希望每個輸出都是唯一的(這就是爲什麼randbetween()
函數不起作用爲了這)。以下是我到目前爲止,但我不斷收到參考錯誤。我已經從我在網上找到的幾個不同的例子中拼接出了這些代碼,所以我們也會以任何方式進行優化。創建生成唯一隨機數的Excel VBA宏
代碼:
Sub RandomSample()
Dim cell As Range
Dim rng As Range
Low = 1
High = Application.InputBox("Enter population total", Type:=1)
Sample = Application.InputBox("Enter the Sample Size", Type:=8)
Set rng = Application.Range(ActiveCell, ActiveCell.Offset(Sample, 0))
For Each cell In rng.Cells
If WorksheetFunction.CountA(Selection) = (High - Low + 1) Then Exit For
Do
rndNumber = Int((High - Low + 1) * Rnd() + Low)
Loop Until Selection.Cells.Find(rndNumber, LookIn:=xlValues, lookat:=xlWhole) Is Nothing
cell.Value = rndNumber
Next
End Sub
錯誤窗口: Error image
這看起來像它應該現在的工作。 – Jeeped
@Jeeped - 錯過了,謝謝指出,答案更新。 – Mrig
您可能還想查看有關類型的其他答案:=錯誤。 –