如何将两个Do While循环链接在一起?

时间:2016-07-05 10:39:47

标签: vba excel-vba excel

我想在这里创建两个迭代。第一部分是"对于i = 1到迭代"。第二部分是" j"从1到731.

在代码中,P1,P2,P3是常量,Discrete1,Discrete2,Discrete3是函数,但会随机返回整数。

在VBA中,我可以运行代码,但由于某些原因,结果会错误地返回。

我想要实现的是当j小于266时,它与第一个循环相关,当j在360到731之间时,它会进入第二个循环。

有人可以帮忙吗?我将不胜感激。

谢谢

document.currentScript

1 个答案:

答案 0 :(得分:0)

说明中的数字与您的代码不符。

这将修复你的第二个循环。

  

同时(j> 365)和(j <731)

你有一种特殊的编码方式。我猜它来自你的数学背景。无论如何,我会使用Rnd() >= P1代替IIf(Rnd() < P1, 1, 0) = 1。我认为它更直接。看起来你正试图制定一个随机的两年可用性计划。如果是这样,您可能想要更改循环以评估日期。这样你就不必考虑闰年了。

循环1

  

年份(DateSerial(年(日期),1,j))=年(日期())

循环2

  

年份(DateSerial(年(日期),1,j))=年(日期())+ 1