HOME > エクセルVBA >イベント

ユーザーフォームの「イベント その2」

 「イベント その1」ではクリック、ダブルクリックの説明をしました。それ以外にもイベントは沢山ありますが、代表的なイベントについて説明します。

初期化時のイベント

 ユーザーフォームを起動させる時に「Initialize」イベントが発生します。このイベントを使用することにより、変数の初期値や、ユーザーフォーム上のコンボボックスやリストボックスの初期値を設定する場合に利用します。

Initialize

初期化時のイベント(使用例)

Initialize  左図の様に、売上データの入力フォームを作成したとき、日付を毎日入力するのは面倒です。このような場合、「Initialize」イベントで日付データを当日の日付を入力するように設定することが出来ます。

Private Sub UserForm_Initialize()

UserForm1.TextBox1.Value = Date

End Sub

終了時のイベント

 ユーザーフォームを終了させる時にQueryCloseイベントが発生します。このイベントを使用することにより、ユーザーフォーム終了時に任意の処理を行うことが出来ます。

QueryClose

終了時のイベント(使用例)

QueryClose  売上データを入力後、ユーザーフォームを閉じる時にコンピューター名と時刻を取得し、エクセルシートにデータを入力しています。

いわゆるログ情報の取得になります。ブックをサーバーにおいておけば、誰がいつデーターを入力したかわかります。

障害発生時に対応できたり、、不正の抑止効果などがあります。

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

ActiveSheet.Cells(2, 2) = Time
ActiveSheet.Cells(2, 1) = CreateObject("WScript.Network").ComputerName

End Sub

ユーザーフォームの「モーダル/モードレス」、「イベント その1」  エクセル職人  コントロール その1

▲TOPへ移動