我目前正在开发 VBA Excel 中的代码。
此代码根据工作表中的用户输入生成一个 3 维数组。
这个想法是每次更改用户输入时重新运行此代码。
但是由于计算时间很长,我想将以前计算的数据保留在数组中,并且只修改接收到新用户输入的行/列的数组。
因此,我最初的想法是:
- 将数组声明为 public 和
- 对每个新代码执行(即每个新更新)使用“redim preserve”
但是,我意识到在每次执行新代码时,数组都是空的,并且重新运行完整的计算......
有人可以帮助解决这个问题吗?
提前感谢艾尔
Public Function UseTestVar()
Static TestVar(10) As Integer
Debug.Print TestVar(1)
TestVar(1) = TestVar(1) + 1
End Function
Sub Test3()
UseTestVar
End Sub
每次执行时,该TestVar(1)值都会递增。
编辑;
所以是的,你需要有一个函数来“持有”你的“全局”变量,并使用该函数来做所有的事情......或者返回它,或者......在不知道你的代码的情况下我必须离开它让你弄清楚工作实施。