Public Excel 个 UDF 中的数组

Public Arrays in Excel UDFs

32 位 Excel 2015 | 64 位 Win7

我有一个名为 LDMod 的模块

看起来像这样

Public MyArray()

Function DoinStuff()
if **IDKWhatTOPutHere** MyArray then Call FillMyArray
DoinStuff = "Done"
End Function

Sub FillMyArray
ReDim MyArray(1 to 10, 1 to 10)
For .....
   ....Blah
Next 
End Sub

我的目标是创建并填充一次 public 数组,然后通过函数反复使用它,而不是每次调用函数时都为每个单元格重新创建数组。

问题是双重的:

  1. 我不知道如何检查 MyArray 是否已经创建 IDKWhatToPutHere
  2. 我的 Public 数组减速不允许我调用变量数组

@Alex,我确实决定只使用一个虚拟变量来保存一个布尔值

为了解决更大的问题——无法定位我的阵列,我创建了一个子阵列,使我的阵列变暗,然后它稍后被另一个子阵列重新调整——它并不漂亮,但在这一点上功能优于形式。

Public LDMCArray()
Public LDMCFillCheck As Boolean

Sub InitializePublicDims()
LDMCFillCheck = False
ReDim LDMCArray(1 To 2, 1 To 2)
End Sub

如果有人想到更好的解决方案,我很乐意在此函数中加入更多形式...