1-33 フォームやコントロールに初期値を設定するユーザーフォーム 2021.11.16
Initializeイベントは、フォームのインスタンスが生成されたときに発生します。
インスタンスとは設計図を基に実体化することです。ここでいう設計図とはユーザーフォームのクラスにあたります。
フォームのインスタンスは、メモリに読み込まれた段階で生成されるため、フォームが表示されるShowメソッドはもちろんですが、フォームを表示せずに読み込むLoadステートメントでも発生します。
インスタンスが生成されるとプロパティの設定等が可能になるため、このイベントにはコントロールの初期値や、クラスモジュールとフォームのコントロールの紐づけ設定といった処理を記述することが多いです。
サンプルコード
フォームのインスタンスが生成されたら、フォームの位置をExcelウィンドウの左上隅に合わせる
Private Sub UserForm_Initialize() With Me .StartUpPosition = 0 .Left = Application.Left .Top = Application.Top End With End Sub
対のイベント
Initializeイベントと対になるのは、Terminateイベントです。
このイベントは、フォームのインスタンスが破棄されるときに発生します。
このイベントが発生する時点で、フォームは閉じられているので、該当フォームやコントロールの操作は意味がありません。
ユーザーにメッセージを表示する、ブックのプロパティやメソッドを実行する、セットしたクラス・オブジェクトを解放するといった用途が考えられます。