【问题标题】:Excel VBA to generate a list of 100 pseudo-random numbersExcel VBA 生成 100 个伪随机数的列表
【发布时间】:2014-12-12 01:28:58
【问题描述】:
Dim loop_ctr As Integer
For loop_ctr = 1 To 100
    Sheets("Capacity&Costs").Activate
    Range("TrialOne") = "=INT(RAND()*3+1)-1"
    Calculate

Next loop_ctr

嗨,我有上面的 VBA 代码。从这一点开始,我想从此计算中获取所有 100 个值的列表,并将其显示为不同工作表上的列表。那可能吗?现在如果我运行这段代码,它只会显示第 100 次计算的值。

TrialOne 是包含 0、1 或 2 的两列。我想执行上述代码 100 次,并将每个结果分别记录为一个列表,所以我有一个包含 100 个数字的列表

【问题讨论】:

  • 您的范围TrialOne 是如何定义的?您的标题要求“最小值”,而您的文本要求获取 100 个值的列表 - 是什么? (“一个值”和“100 个值的列表”是互斥的 - 您可以得到一个或 100 个,但不能同时得到。)在回复时,请使用edit 回答您的问题以澄清您的问题询问以便每个人都可以看到,而不是在评论中。
  • TrialOne 是包含 0、1 或 2 的两列。我想执行上述代码 100 次,并将每个结果分别记录为一个列表,所以我有一个包含 100 个数字的列表。
  • 将该信息放入您的问题中,而不是在评论中。

标签: excel random worksheet-function vba


【解决方案1】:

您可以尝试以下 sn-p(根据您的特定范围和工作表命名进行调整)

Sub GenerateRandomList()
    Dim loop_ctr As Integer
    For loop_ctr = 1 To 100
        Range("A" & loop_ctr) = "=INT(RAND()*3+1)-1"
        Calculate
    Next loop_ctr
End Sub

打开新的 Excel 工作表,将代码放入 Sheet1 VBA 代码模块并运行此示例。请注意,此解决方案远非最佳解决方案,但它与您的要求相关。希望这会有所帮助。最好的问候,

【讨论】:

  • 嗨,我刚试了一下,我得到运行时错误'1004':对象'_Global'的方法'范围'失败。这是什么意思??
  • 请看附加说明。
  • 嗨,我想我问错了问题。我发布了另一个更详细的问题,与这个问题略有不同。你介意看看吗?它的标题是“VBA 在 100 次迭代后列出结果”:stackoverflow.com/questions/27436293/… 谢谢!
  • 我会看看你的第二次提交。你能把这个问题标记为已回答吗?谢谢和问候,
猜你喜欢
  • 2016-10-16
  • 2015-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-08
  • 2011-11-03
相关资源
最近更新 更多