ダイアログボックスの初期化
ダイアログが開いた時の処理をUserFormオブジェクトのInitializeイベントに記述します。コードウィンドウの中には前に作ったイベントにまぎれて作った覚えのないプロシージャがある場合もありますが、今は気にしなくてもかまいません。
- プロジェクトエクスプローラからUserForm1を選択して「コードの表示」ボタンをクリックします。
- オブジェクトボックスがUserFormになっていることを確認し、右側のプロシージャボックスから Initializeを選択すると
Private Sub UserForm_Initialize() End Subと初期化のためのプロシージャコードが作成されます。- この中に初期化のためのプログラムを記述します。
UserForm_Initialize()の中に次のようなコードを記述します。01: Dim MYMonth As Integer 02: Dim MYDay As Integer 03: Dim MYDate As Date 04: 05: MYDate = Date 06: MYMonth = Month(MYDate) 07: MYDay = Day(MYDate) 08: txtMonth.Text = MYMonth 09: txtDay.Text = MYDay「費目」のコンボボックスの三角印をクリックすると、「費目ワークシート」に設定した費目が表示されましたが、この「費目名」を右側のテキストボックスに表示させます。
オブジェクトボックスからcmbCodeを選択し、右側のプロシージャボックスから AfterUpdateを選択するとcmbCode_AfterUpdate()プロシージャコードが作成されます。Private Sub cmbCode_AfterUpdate() End Sub cmbCode_AfterUpdate()の中に次のようなコードを記述します。01: Dim MYCode As Integer 02: 03: MYCode=cmbCode.Value 04: txtSubject.Text=Application.WorksheetFunction._ 05: VLookup(MYCode, Range("費目"),2)4行目のWorksheetFunction._ の最後のアンダーバーは1行に収まらない場合にコードを繋ぐ記号です。4行目と5行目を一行で記述する場合はアンダーバーは不要です。(以降、同様です。)F5キーを押してプログラムを実行してみてください。
月日に今日の日付が表示されること、費目コードの三角印を押すと費目が表示されること、費目コードを選択して、マウスで備考欄をクリックすると費目名が表示されることを確認して下さい。
まだコードを記述していないので当然「OK」ボタンや「閉じる」ボタンを押しても何も起こりません。
入力データをワークシートに貼り付ける処理は「下準備」で練習しました。図9:
![]()
![]()
![]()
© AstroHeart. All Rights Reserved.