Excelユーザーフォーム入門 | 第21回.ユーザーフォームの各種イベント | Excelマクロのユーザーフォームの基礎、エクセルVBAの入門解説



最終更新日:2018-03-13

第21回.ユーザーフォームの各種イベント


ユーザーフォームに対する操作(アクション)で発生するイベントの一覧です、

ユーザーフォームそのものの制御をする場合は、このイベントを利用します。


ユーザーフォームのイベント一覧

イベント 構文 説明
Activate UserForm_Activate() Activate イベントは、オブジェクトがアクティブなウィンドウになったときに発生します。Deactivate イベントは、オブジェクトがアクティブなウィンドウではなくなったときに発生します。
AddControl UserForm_AddControl(ByVal Control As MSForms.Control) フォーム、 Frame 、または MultiPage の Page にコントロールが追加されたときに発生します。
BeforeDragOver UserForm_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, ByVal Control As MSForms.Control, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal State As MSForms.fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer) ドラッグ アンド ドロップ操作の実行中に発生します。
BeforeDropOrPaste UserForm_BeforeDropOrPaste(ByVal Cancel As MSForms.ReturnBoolean, ByVal Control As MSForms.Control, ByVal Action As MSForms.fmAction, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer) ユーザーがオブジェクトにデータをドロップするか貼り付けようとすると発生します。
Click UserForm_Click() クリックされたときに発生します。
DblClick UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean) DblClick イベントは、マウス ポインターをオブジェクトの上に置き、システムで設定されているダブルクリックの間隔内に、マウスの左ボタンを押してから離す動作を 2 回続けて行ったときに発生します。
Deactivate UserForm_Deactivate() フォームがフォーカスを失い、アクティブでなくなると発生します。
Error UserForm_Error(ByVal Number As Integer, ByVal Description As MSForms.ReturnString, ByVal SCode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, ByVal CancelDisplay As MSForms.ReturnBoolean) Error イベントは、フォームやレポートにフォーカスがあるときに、Access で実行時エラーが検出されたときに発生します。
Initialize UserForm_Initialize() UserForm が読み込まれた後で表示される前に発生します。
KeyDown UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) ユーザーがキーを押すと発生します。
KeyPress UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) ユーザーが ANSI キーを押すと発生します。
KeyUp UserForm_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) ユーザーがキーを離すと発生します。
Layout UserForm_Layout() 子コントロールの位置を変更する必要があるときに発生します。
MouseDown UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) ユーザーがマウス ボタンを押したときに発生します。
MouseMove UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) ユーザーがマウスを動かしたときに発生します。
MouseUp UserForm_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) ユーザーがマウス ボタンを離したときに発生します。
QueryClose UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) UserForm が閉じる前に発生します。
RemoveControl UserForm_RemoveControl(ByVal Control As MSForms.Control) コントロールが コンテナーから削除されたときに発生します。
Resize UserForm_Resize() フォームを開いたとき、およびフォームのサイズが変更されるたびに、 Resizeイベントが発生します。
Scroll UserForm_Scroll(ByVal ActionX As MSForms.fmScrollAction, ByVal ActionY As MSForms.fmScrollAction, ByVal RequestDx As Single, ByVal RequestDy As Single, ByVal ActualDx As MSForms.ReturnSingle, ByVal ActualDy As MSForms.ReturnSingle) マウスまたはキーボードの操作でスクロール ボックスが移動したときに発生します。
Terminate UserForm_Terminate() オブジェクトを参照するすべての 変数が Nothing に設定されて、オブジェクトのインスタンスへの参照がメモリからすべて削除されるか、オブジェクトへの最後の参照が スコープ外になったときに発生します。
Zoom UserForm_Zoom(Percent As Integer) Zoom プロパティの値が変更されたときに発生します。


太字のイベントが良く使われるイベントになります。
それ以外は、特殊な機能を実装したい場合に限られます。


イベントの発生順について

ユーザーフォームを表示する時
以下の順でイベントが発生します。

UserForm_Initialize

UserForm_Activate


ユーザーフォームを閉じる時
以下の順でイベントが発生します。

UserForm_QueryClose

UserForm_Terminate


QueryCloseの引数

UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

ユーザー フォームに未完了のタスクが含まれていないかどうかを確認するために使用されます。

引数 説明
cancel 整数型 (Integer) の値を指定します。
この引数をTrueに設定すると、読み込み済みのすべてのユーザー フォームで QueryClose イベントが停止され、
UserFormとアプリケーションを閉じられなくなります。
closemode QueryClose イベントの原因を示す値または定数です。

CloseModeの定数
定数 内容
vbFormControlMenu 0 ユーザー フォームのコントロール メニューの [閉じる] がクリックされました。
vbFormCode 1 コードから Unload ステートメントが起動されました。
vbAppWindows 2 現在の Microsoft Windows のオペレーティング環境セッションが終了しました。
vbAppTaskManager 3 Windows のタスク マネージャによって、アプリケーションが閉じられました。





同じテーマ「Excelユーザーフォーム入門」の記事

第11回.コンボボックス(ComboBox)の追加
第12回.リストボックス(ListBox)の追加
第13回.チェックボックス(CheckBox)の追加
第14回.オプションボタン(OptionButton)の追加
第15回.ここまでの整理
第16回.アクティブコントロールに色を付ける
第17回.Enterキーで次のコントロールに移動する
第18回.2段階コンボボックス
第19回.テキストボックス数値編集
第20回.テキストボックスの各種イベント
第21回.ユーザーフォームの各種イベント

新着記事 ・・・新着記事一覧を見る

数値範囲で表検索するVLOOKUP近似一致|エクセル関数超技(10月5日)
エクセルVBAでのシート指定方法|VBA技術解説(9月8日)
VBAのクラスとは(Class,Property,Get,Let,Set)|VBA技術解説(8月28日)
VBAこれだけは覚えておきたい必須基本例文10|VBA技術解説(8月22日)
VBAの省略可能な記述について|ExcelマクロVBA技術解説(8月11日)
複数条件判定を行う時のコツ|ExcelマクロVBA技術解説(7月11日)
For Next の使い方いろいろ|VBA技術解説(6月14日)
VBAを定型文で覚えよう|ExcelマクロVBA技術解説(3月26日)
VBAスタンダード試験対策まとめ|MOS VBAエキスパート対策(3月16日)
ユーザーフォームとメニューの操作|MOS VBAエキスパート対策(3月14日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数とデータ型(Dim)|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.RangeとCellsの使い方|ExcelマクロVBA入門
6.定数と型宣言文字(Const)|ExcelマクロVBA入門
7.ひらがな⇔カタカナの変換|エクセル基本操作
8.マクロって何?VBAって何?|ExcelマクロVBA入門
9.繰り返し処理(For Next)|ExcelマクロVBA入門
10.とにかく書いて見よう(Sub,End Sub)|VBA入門



  • >
  • >
  • >
  • ユーザーフォームの各種イベント

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。





    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。

    本文下部へ

    ↑ PAGE TOP