2012-09-05 60 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)