exceludfs中的公共数组
32位Excel 2015 | 64位Win7 我有一个名为LDMod的模块 看起来像这样exceludfs中的公共数组,excel,user-defined-functions,vba,Excel,User Defined Functions,Vba,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 En
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
我的目标是创建并填充一个公共数组,然后由函数反复使用它,而不是在每次调用函数时为每个单元格重新创建数组
问题有两方面:
@Alex,我决定用一个伪变量来保存一个布尔值 为了解决更大的问题——无法瞄准我的阵列,我创建了一个sub,使我的阵列变暗,然后它稍后被另一个sub重新调整——这并不漂亮,但在这一点上函数超过了形式
Public LDMCArray()
Public LDMCFillCheck As Boolean
Sub InitializePublicDims()
LDMCFillCheck = False
ReDim LDMCArray(1 To 2, 1 To 2)
End Sub
如果有人想到一个更好的解决方案,我很乐意在这个函数中加入更多的形式…没有优雅的方法来查看数组是否已被标注尺寸。使用在
FillMyArray
中设置为true
的全局mIsFilled
变量,并使用如果没有mIsFilled,则调用FillMyArray
取决于您对优雅的定义,我想:好的,这就行了——第二部分有什么想法吗——出于某种原因,我的函数正在创建一个新的MyArray
实例,而不是使用公共变量,我得到的是“cannotcompilemodule”值