VBA講座2-1では、ユーザーフォームにコンボボックスを設置しました。コンボボックスは予め設定した値から選択するコントロールでしたね。
ではどのようにしてコンボボックスに値を読み込ませるのか?
これを今回と次回の講座で行っていきます。
第2章の冒頭でもお話しましたが、新規登録画面のコードさえ理解できれば、あとは結構すんなりといくと思いますので、ぜひ頑張ってついてきて下さいね。
それでは早速いきましょう。
スポンサーリンク
ユーザーフォームを閉じるコードの復習
早速コードを書いていきますが、まずは復習です。
閉じるボタンをダブルクリックしてください。ユーザーフォームを閉じるコードは何でした?
そう、「Unload Me」ですね。VBA講座1-7でやりました。
Private Sub btnClose_Click()の下の行に小文字で「unload me」と入力、その後に↓キーを押すと自動的にuとmがそれぞれ大文字に変換されます。
閉じるボタンのコードはこれで終了です。
スポンサーリンク
UserForm_Initializeとは?
採用区分と単位ですが、採用区分は「あり」か「なし」か、単位には「錠」、「g」、「枚」、「キット」などを入れたいと思います。
入力者が自分で考えて入力するのではなく、システム作成者が用意した選択肢から選ぶ、といった形を取りたいわけですね。
そういう時に使うのがコンボボックスです。ではどのようにすればいいのか。
具体的には候補を予め用意して、フォームが開いた時にその候補を読み込ませるという事をします。
それではコード画面を開きましょう。
左側のプロジェクトのフォーム内のfrmDRegisterで「右クリック→コードの表示」をクリックします。
先ほど入力したコードが表示されました。今はこのコードしか表示されていませんね?
それでは、上のbtnCloseと表示されている場所の右側に下向きの矢印がありますね。
それをクリックすると、配置したコントロールが下にずら~っと並びます。今回は一番下のUserFormを選択しましょう。
新しいコードが出てきましたが、とりあえずこれは無視して下さい。
次に右上のClickと表示されている部分の右側の下向き矢印をクリックします。
先ほどと同じように配置したコントロールが表示されます。上から5つ目のInitializeを選択しましょう。
○
End Sub
これはいらないので削除して下さい。普通にBackSpaceかDeleteキーで消してください。
では使用するコードの解説をします。
○
End Sub
initializeは初期化するという意味です。「UserFormを初期化する≒フォームを新しく読みこむ」。
ザックリいうと、「ユーザーフォームを開いた時に○を実行する」と覚えて頂いてOKです。
これは頻繁に使用するコードなので、「Unload Me」と一緒にぜひ覚えて下さいね!
それでは今回はここで終了です。お疲れ様でした。
次回はコンボボックスに読み込ませる値をワークシートに入力していきます。