0

我目前正在开发 VBA Excel 中的代码。

此代码根据工作表中的用户输入生成一个 3 维数组。

这个想法是每次更改用户输入时重新运行此代码。

但是由于计算时间很长,我想将以前计算的数据保留在数组中,并且只修改接收到新用户输入的行/列的数组。

因此,我最初的想法是:

  1. 将数组声明为 public 和
  2. 对每个新代码执行(即每个新更新)使用“redim preserve”

但是,我意识到在每次执行新代码时,数组都是空的,并且重新运行完整的计算......

有人可以帮助解决这个问题吗?

提前感谢艾尔

4

1 回答 1

0
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)值都会递增。

编辑;

所以是的,你需要有一个函数来“持有”你的“全局”变量,并使用该函数来做所有的事情......或者返回它,或者......在不知道你的代码的情况下我必须离开它让你弄清楚工作实施。

于 2013-07-19T09:56:56.117 回答