vba excel:每次改变某个variables时都会做某些事情

我正在做一堆东西的variablesSt

 For i = 1 To 30000 Randomize e1 = Rnd e2 = Rnd z1 = Sqr(-2 * Log(e1)) * Cos(2 * 3.14 * e2) z2 = Sqr(-2 * Log(e1)) * Sin(2 * 3.14 * e2) St = So * Exp((r - (sigma ^ 2) / 2) * T + sigma * Sqr(T) * z1) C = C + Application.WorksheetFunction.Max(St - K, 0) St = So * Exp((r - (sigma ^ 2) / 2) * T - sigma * Sqr(T) * z1) C = C + Application.WorksheetFunction.Max(St - K, 0) St = So * Exp((r - (sigma ^ 2) / 2) * T + sigma * Sqr(T) * z2) C = C + Application.WorksheetFunction.Max(St - K, 0) St = So * Exp((r - (sigma ^ 2) / 2) * T - sigma * Sqr(T) * z2) C = C + Application.WorksheetFunction.Max(St - K, 0) Next i 

每当variables发生变化时,我如何得到通知?

也许这是一个非常天真的答案,但如果你做一个函数调用子,那么每次variables被改变,那么函数将被重新评估。

您可以在每次评估之后使用断点或将St的值转储到您的Excel文件中的列。

一个非常恼人的解决办法是在整个地方添加消息框

另一个聪明的解决scheme是通过join一个variables来为你的代码添加逻辑,这个variables将存储St的前一个值,然后在新St

在Excel VBE中,您可以为每个variables添加一个“监视”。 select您的variables,进入debugging菜单,单击添加监视… ,然后在监视types下 ,单击值时更改中断