0

ワークシート データから一連の配列を作成しています。次に、別のワークシートに書き込む前にデータを操作します (以下の例を参照)。

同じワークシート データを再度使用したい場合、ワークシートから配列を作成するコードを書き直さないようにするにはどうすればよいでしょうか?

  • 配列を再作成する必要がないように、コードを 1 つの長い手順で記述する必要がありますか?
  • 複数のプロシージャで再利用できるように、配列をグローバルにする必要がありますか?
  • 長い引数リストで配列を必要とするプロシージャだけに配列を渡す必要がありますか?
  • 他のオプションはありますか?

Sub ManipulateData()
    Dim people(1 To MAX_DATA_ROW) As String
    Dim projects(1 To MAX_DATA_ROW) As String
    Dim startDates(1 To MAX_DATA_ROW) As Date
    Dim endDates(1 To MAX_DATA_ROW) As Date
    ...
    Loop through worksheet cells to populate arrays
    ...
    Do something with array data

End Sub
4

1 に答える 1

1

配列を変数として含むクラスを作成し、必要な機能を提供するために、必要に応じてすべてをロードし、必要に応じて他のサブ/関数をロードprivateする1つのパブリックサブを作成します。Initialise

そうすれば、配列を渡す必要はありませんが、それでもグローバルではありません。それらをグローバルにすることの問題は、コードベースのどこかにある可能性があるため、コードが予期しない方法で配列を変更する可能性がある他のコードが配列を変更するリスクが高くなることです。

ここでは、Excel VBAのクラスについて紹介します。

于 2011-01-26T10:44:43.053 に答える