/ / VBAで動的に作成されたコントロールを参照する方法 - Excel、VBA、動的、参照、コントロール

VBAで動的に作成されたコントロールをどのように参照できますか? - Excel、VBA、動的、参照、コントロール

私は「StackOverflow」で何ヶ月も必要な答えを見つけてきました(ありがとうございます!)今のところ私の検索語は今回必要な結果を見つけることができません。

2つのユーザーフォームを含むExcelファイルがあります。

  • 1つ目は、特定の請求書データを入力してから、そのデータを当社独自の会計システムにアップロードできる形式でエクスポートするために使用されます。
  • 2番目のものは、後でそれらの請求書に対する支払いデータを転記するために使用され、その後同様に、そのデータを当社の会計システムにアップロードできる形式でエクスポートします。

2番目のフォームは動的に作成されなければなりませんUserform_Initializeは、必要な支払いの数(したがって、作成されるTextBoxコントロールとLabelコントロールの数)が請求書のサイズによって異なるためです。この2番目のフォームを作成するためのコードは完成していて、うまく機能しますが、動的に作成されたコントロールの一部がユーザーによって変更されたときにトリガーされる機能を追加したいと思います。

私は "与えられたを使用して他の形でこれをやった_Change()プロシージャを制御します(たとえば、金額を入力した後に次のボックスに移動する場合は、値の小数点以下2桁になったらすぐにSetFocusの_Change()を使用します)。フォームが初期化される前にまだ存在していないコントロールのために_Change()スタイルの手続きをどのように確立することができますか?私はテキストボックスを介してループし、それらの動的な名前に基づいてif / then / elseステートメントを使用するために使用できる "グローバル" _Change()プロシージャを設定する方法はありますか?

どんなヒントも大歓迎です!

回答:

回答№1は0

動的フォームを使用している場合は、関連する情報を格納するためのオブジェクト配列を作成して、オブジェクトを "名前"ですばやく簡単に参照できるようにします。