ダイアログボックスの初期化

ダイアログが開いた時の処理をUserFormオブジェクトのInitializeイベントに記述します。
  1. プロジェクトエクスプローラからUserForm1を選択して「コードの表示」ボタンをクリックします。
  2. オブジェクトボックスがUserFormになっていることを確認し、右側のプロシージャボックスから Initializeを選択すると
    
    Private Sub UserForm_Initialize()
    
    End Sub
    
    と初期化のためのプロシージャコードが作成されます。
  3. この中に初期化のためのプログラムを記述します。
コードウィンドウの中には前に作ったイベントにまぎれて作った覚えのないプロシージャがある場合もありますが、今は気にしなくてもかまいません。
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.