【发布时间】:2017-02-27 21:51:16
【问题描述】:
我尝试创建一个数组并用唯一值填充它。 由于检查该值是否是唯一的,我未能创建一个基本的“为每个”程序。 我只想创建一个唯一的随机数,将其放入一个数组中,创建另一个唯一的随机数并将其放入同一个数组中。 如果未能搜索有关该主题并且未能通过谷歌搜索该问题,因此我必须在 stackoverlofw 询问社区。p>
我没有任何有价值的代码,因为没有任何效果。
我只有一个谷歌代码,它在 excel 的单元格中对我有用,但在数组中没有。
For Each Cell In Selection.Cells
Do
rndNumber = Int((High - Low + 1) * Rnd() + Low)
Loop Until Selection.Cells.Find(rndNumber, LookIn:=xlValues, LookAt:=xlWhole) Is Nothing
Cell.Value = rndNumber
Next
希望
【问题讨论】:
-
您可能希望使用
Scripting.Dictionary作为容器,并将随机数作为键。如果您需要以数组形式使用它,只需转储.Keys数组即可。 -
容器在哪个星座中用于此类问题?在我的选项中,它必须很容易解决这个问题,只需“for each”和“do - loop until”实用程序 excel vba 提供。
-
对你来说幸运的是,在你有足够的随机数来预期重复之前,excel 就会崩溃。只需用随机数填充一个数组,不用担心重复。
-
@Andrew - 嗯?我不确定我是否理解您的问题。
-
@Comintern 好的:我有一个数组。这个数组的范围是 x(对于这个任务并不重要) 让这个数组是一个有 x 个数字的一维数组。这个数组必须用随机的唯一数字填充。问题:必须在具有唯一数字的 excel vba 中制作它:)