2012-09-05 58 views
0

我有一大块代码可以为我定义一个数组的每个元素,这个元素长得令人讨厌,并且定位在我的一个函数的开头。我想隐藏代码或将其设置在其他位置,但如果可能的话,不要以任何方式更改其当前含义。我想避免使数组成为全局的。从函数调用的所有地方传递数组也是不合理的。隐藏/替换VBA中的代码

有没有什么方法可以简单地让代码坐在别的地方,而VBA将它看作是函数的一部分,也就是说,如果我在函数的开头定义了所有元素?我想有一些“Sub”实际上不是一个Sub(我可能称之为“摘录”)的代码,其中的元素在函数中用一行代码填充,并按名称调用“摘录”。

回答

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)