我有一大块代码,它为我手动定义了一个数组的每个元素,这个元素很烦人,位于我的一个函数的开头。我想隐藏代码或将其设置在其他地方,如果可能的话,不以任何方式改变其当前含义。我想避免使数组全局化。从调用该函数的所有位置传递数组也是不合理的。
当VBA将其视为函数的一部分时,是否有某种方法可以简单地将代码放在其他位置,即好像我在函数的开头定义了所有元素?我想有一些“Sub”,它实际上不是一个Sub(我可能称之为“摘录”)代码,其中填充的元素在函数中有一行,按名称调用“摘录”。
答案 0 :(得分:3)
您可以从函数返回一个数组,因此它可以单独存在于模块中;
public Function getArr() as string()
Dim arr(10) as string
...
arr(5) = "Cakey"
getArr = arr
End Function
用
调用Dim arry() as string: arry = getArr()
msgbox arry(5)