現在、私は非常に多くの必要なサブルーチンを持つVBAプロジェクトに取り組んでいます。私がしたいのは、コードのためのすべての私の基本入力パラメータを含む '入力機能'を作成することです。Excel VBAは入力領域に入力パラメータを集約しています
現在、各サブルーチンで変数を宣言する必要があります。つまり、変数の1つが変更された場合は、コード全体を変更する必要があります。 1つの入力ドメインを持つことで、モジュール全体を処理するのではなく、1つの変更を行うことができます。
MATLABでは、すべての入力データを含むstruct "Input"という別のスクリプトを作成します。私のメインスクリプトでスクリプトを実行すると、使用できるようにすべてのパラメータが生成されます。
VBAでも同様のことが可能ですか?クラス関数を見て、サブルーチン外の変数を宣言していますが、最適なソリューションのようには見えません。
TheSilkCode?私はクラスよりも状態を保持するより良い方法を考えることができません。 – Comintern
VBAでカスタムの 'Type'(構造体に似ています)を使用することができます。 –
グローバル変数はしばしば設計が不良であると考えられますが、有効な用途があります。多分これはそれらの一つです。あなたがグローバルパラメータ(グローバル変数)として宣言していないのはなぜですか? –