1-33 フォームやコントロールに初期値を設定するユーザーフォーム 2021.11.16
次の書籍の第1章~5章を公開しています。
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」
Initializeイベントは、フォームのインスタンスが生成されたときに発生します。
インスタンスとは設計図を基に実体化することです。ここでいう設計図とはユーザーフォームのクラスにあたります。
フォームのインスタンスは、メモリに読み込まれた段階で生成されるため、フォームが表示されるShowメソッドはもちろんですが、フォームを表示せずに読み込むLoadステートメントでも発生します。
インスタンスが生成されるとプロパティの設定等が可能になるため、このイベントにはコントロールの初期値や、クラスモジュールとフォームのコントロールの紐づけ設定といった処理を記述することが多いです。
サンプルコード
フォームのインスタンスが生成されたら、フォームの位置をExcelウィンドウの左上隅に合わせる
Private Sub UserForm_Initialize() With Me .StartUpPosition = 0 .Left = Application.Left .Top = Application.Top End With End Sub
対のイベント
Initializeイベントと対になるのは、Terminateイベントです。
このイベントは、フォームのインスタンスが破棄されるときに発生します。
このイベントが発生する時点で、フォームは閉じられているので、該当フォームやコントロールの操作は意味がありません。
ユーザーにメッセージを表示する、ブックのプロパティやメソッドを実行する、セットしたクラス・オブジェクトを解放するといった用途が考えられます。
書籍紹介140以上のサンプルファイル付き!
知りたいがすぐわかる! やりたいがすぐできる!
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」(Kindle版)
ユーザーフォームを扱えると、VBAでできることが大きく広がります!
本書では、知りたいこと、やりたいことから、逆引きで学びを深められます。
■ 購入:amazon