0

我有一大段代码为我手动定义了一个数组的每个元素,这些元素非常长并且位于我的一个函数的开头。如果可能的话,我想隐藏代码或将其设置在其他地方,而不以任何方式改变其当前含义。我想避免使数组成为全局的。从调用函数的所有地方传递数组也是不合理的。

有没有办法让代码简单地放在其他地方,而 VBA 将它视为函数的一部分,即好像我在函数开头定义了所有元素?我想象有某种“Sub”实际上不是代码的 Sub(我可能称它为“Excerpt”),其中的元素填充在那里,函数中的一行按名称调用“Excerpt”。

4

1 回答 1

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)
于 2012-09-05T16:08:53.633 回答