0

配列の各要素を手動で定義する大量のコードがありますが、これは煩わしいほど長く、関数の1つの先頭に配置されています。可能であれば、現在の意味を変更せずに、コードを非表示にするか、別の場所に設定したいと思います。配列をグローバルにすることは避けたいと思います。また、関数が呼び出されるすべての場所から配列を渡すことも合理的ではありません。

VBAがコードを関数の一部であると見なしている間、つまり、関数の先頭ですべての要素を定義したかのように、コードを別の場所に配置する方法はありますか?名前で「抜粋」を呼び出す関数の1行に要素が入力された、実際にはサブ(「抜粋」と呼ぶ場合があります)ではない、ある種の「サブ」があると想像します。

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 に答える