Excel VBA ユーザーフォームのイベント

スポンサーリンク

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

イベント名 イベントの発生
Activate アクティブなウィンドウになったとき
AddControl 実行時にAddメソッドでコントロールが追加されたとき
BeforeDragOver 「ドラッグ&ドロップ」したとき
BeforeDropOrPaste データをドロップするか貼り付けるとき
Click クリックして離したとき
DblClick ダブルクリックして離したとき
Deactivate 非アクティブになったとき
Error フォームがエラーを検出しエラー情報を
呼び出し元プログラムに返すことができないときに発生
Initialize ユーザーフォームが表示される直前
KeyDown キーを押したタイミングで発生
KeyPress キーが押されたあとに発生
KeyUp 押されたキーが戻るときに発生
Layout フォームに配置されたコントロールが移動したとき発生
MouseDown フォーム上でマウスボタンが押されたとき発生
MouseMove フォーム上にマウスポインターが移動したとき発生
MouseUp フォーム上でマウスボタンをクリックして
ボタンを離したとき発生
QueryClose フォームが閉じる直前に発生
RemoveControl フォームに設置されたコントロールが
削除されたとき発生
Resize フォームのサイズが変更されてとき発生
Scroll フォーム上のスクロールボックスに
変更があったときに発生
Terminate フォームが閉じられた後に発生
Zoom フォームの表示倍率が変更されたとき発生

Activate【アクティベイト】イベント

ユーザーフォームがアクティブなウィンドウになったときに発生します。ユーザーフォームがアクティブウインドウになるときはShow【ショウ】メソッドで表示された直後です。

Activate【アクティベイト】イベントの書式

Private Sub UserForm_Activate()


AddControl【アドコントロール】イベント

ユーザーフォームが実行時にAddメソッドによってコントロールが追加されたときに発生します。実行時にフォームが最初に読み込まれて表示されたときには起動されません。

AddControl【アドコントロール】イベントの書式

Private Sub UserForm_AddControl(ByVal Control As MSForms.Control)


BeforeDragOver【ビフォアドラッグオーバー】イベント

ユーザーフォームを「ドラッグ&ドロップ」したときに発生します。

BeforeDragOver【ビフォアドラッグオーバー】イベントの書式と引数の説明

Private Sub UserForm_BeforeDragOver(ByVal Cancel By AsMSForms.ReturnBoolean,
ByVal ControlAs MSForms.Control,
ByVal DataAs MSForms.DataObject,
ByValX As Single,
ByValYAs Single,
ByValState As MSForms.fmDragState,
ByVal Effect As MSForms.ReturnEffect,
ByVal Shift As Integer)

  • Cancel【キャンセル】
    イベントの状態を設定します。既定値はFalseで「コントロール」がイベントを処理
    することを表します。Trueに設定した場合は「アプリケーション」がイベントを処理することを表します。
  • Control【コントロール】
    ドラッグされているコントロールを返します。
  • Data【データ】
    ドラッグ アンド ドロップ操作でドラッグされているデータ
  • X【エックス】
    フォームが押された水平位置をポイント単位で単精度浮動小数点型 (Single)の値で返します。
  • Y【ワイ】
    フォームが押された垂直位置をポイント単位で単精度浮動小数点型 (Single)の値で返します。
  • State【ステイツ】
    ドラッグされているデータの遷移状態を設定します。以下の定数を指定します。

    定数 内容
    fmDragStateEnter 0 マウス ポインターはターゲットの範囲の中にあります。
    fmDragStateLeave 1 マウス ポインターはターゲットの範囲の外にあります。
    fmDragStateOver 2 マウス ポインターは新しい位置にありますが
    同じターゲットの範囲の中にあります。
  • Effect【エフェクト】
    ドロップ ソースでサポートされる操作を設定します。

    設定値 内容
    fmDropEffectNone 0 ドロップ ソースをドロップ ターゲットに
    コピーも移動もしません。
    fmDropEffectCopy 1 ドロップ ソースをドロップ ターゲットに
    コピーします。
    fmDropEffectMove 2 ドロップ ソースをドロップ ターゲットに
    移動します。
    fmDropEffectCopyOrMove 3 ドロップ ソースをドロップ ターゲットに
    コピーまたは移動します。
  • Shift【シフト】
    キーが押されたときの「Shiht」キー、「Ctrl」キー、「Alt」キーが押されている状況を整数値で返します。すべて押されていないときは「0」を返します。複数選択されている場合は整数値を加算した値が返されます。

    戻り値 押されているキー
    1 「Shiht」キー
    2 「Ctrl」キー
    4 「Alt」キー

※このイベントは、マウス ポインターが有効なターゲットに入ったときターゲットから出たとき、またはターゲットの上にあるときにポインターを監視するために使用します。ドラッグ アンド ドロップ操作の実行中は、ユーザーがマウスを動かしたりマウス ボタンを押したり離したりすると、このイベントが発生します。このイベントを受け取るターゲット オブジェクトは
マウス ポインターの位置によって決まります。マウス ポインターの状態は、State 引数を調べることによって判定できます。


BeforeDropOrPaste【ビフォアドロップオーアールペースト】イベント

ユーザーがユーザーフォームにデータをドロップするか貼り付けようとすると発生します。

BeforeDropOrPaste【ビフォアドロップオーアールペースト】イベントの書式と引数の説明

Private Sub 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)

  • Action【アクショオン】
    現在のキーボード設定に基づく保留中のドラッグ アンド ドロップ操作の結果を示します。

    定数 内容
    fmActionPaste 2 選択されているオブジェクトを
    ドロップ ターゲットに貼り付けます。
    fmActionDragDrop 3 ユーザーがオブジェクトをソースから
    ドロップ ターゲットにドラッグして
    ドロップ ターゲットにドロップしたことを示します。

    他の設定値については
    BeforeDragOver【ビフォアドラッグオーバー】イベントをご覧ください。


Click【クリック】イベント

Click 【クリック】イベントは、マウス ポインターをユーザーフォームの上に置きマウス ボタンを押してから離したときに発生します。既定のイベントになります。

Click【クリック】イベントの書式

Private Sub UserForm_Click()


DblClick【ダブルクリック】イベント

DblClick 【ダブルクリック】イベントは、マウス ポインターをユーザーフォームの上に置き
システムで設定されているダブルクリックの間隔内にマウスの左ボタンを押してから離す動作を2 回続けて行ったときに発生します。

DblClick【ダブルクリック】イベントの書式と引数の説明

Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

  • Cancel【キャンセル】
    Trueを設定した場合は「アプリケーション」がイベントを処理することを表します。

Deactivate【ディアクティベイト】イベント

Deactivate【ディアクティベイト】 イベントは、ユーザーフォームがフォーカスを失い非アクティブになったときに発生します。

Deactivate【ディアクティベイト】の書式

Private Sub UserForm_Deactivate()


Error【エラー】イベント

Error【エラー】 イベントはフォームがエラーを検出しエラー情報を呼び出し元プログラムに返すことができないときに発生します。

Error【エラー】イベントの書式と引数の説明

Private Sub 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)

  • Number【ナンバー】
    コントロールがエラーの識別に使用する一意の値を指定します。
  • Description【ディスクリプション】
    エラーの説明です。
  • SCode【エスコード】
    エラーの OLE ステータス コードを指定します。
  • Source【ソース】
    イベントを生成したコントロールを示す文字列です。
  • HelpFile【ヘルプファイル】
    エラーを説明しているヘルプ ファイルの完全修飾パス名を指定します。
  • HelpContext【ヘルプコンテキスト】
    エラーの説明が含まれるヘルプ ファイル トピックの
    コンテキスト ID を指定します。
  • CancelDisplay【キャンセルディスプレイ】
    メッセージ ボックスにエラー文字列を表示するかどうかを指定します。既定値はFalseで表示しません。表示する場合はTrueを指定します。

Initialize【イニシャライズ】イベント

Initialize【イニシャライズ】イベントは、ユーザーフォームが表示される直前に発生するイベントです。ユーザーフォームのイベントでは一番使用頻度が高いイベントでフォーム上のコントロールなどの初期化に利用されます。

Initialize【イニシャライズ】イベントの書式

Private Sub UserForm_Initialize()


KeyDown【キーダウン】イベント

KeyDown【キーダウン】 イベントは、ユーザーフォームまたはコントロールにフォーカスがある状態で、キーを押したタイミングで発生します。

KeyDown【キーダウン】イベントの書式と引数の説明

Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

  • KeyCode【キーコード】
    押されたキーを整数値で返します。

    戻り値 押されたキー
    1 左マウスボタン
    2 マウスの右ボタン
    3 CANCELキー
    4 マウスの中ボタン
    8 バックスペースキー
    9 Tabキー
    12 クリアキー
    13 キーを入力してください
    16 シフトキー
    17 CTRLキー
    18 MENUキー
    19 PAUSEキー
    20 CAPS LOCKキー
    27 ESCキー
    32 スペースバーキー
    33 ページアップキー
    34 ページダウンキー
    35 ENDキー
    36 HOMEキー
    37 左矢印キー
    38 上向き矢印キー
    39 右矢印キー
    40 下矢印キー
    41 SELECTキー
    42 PRINT SCREENキー
    43 EXECUTEキー
    44 SNAPSHOTキー
    45 INSキー
    46 DELキー
    47 HELPキー
    65 Aキー
    66 Bキー
    67 Cキー
    68 Dキー
    69 Eキー
    70 Fキー
    71 Gキー
    72 Hキー
    73 Iキー
    74 Jキー
    75 Kキー
    76 Lキー
    77 Mキー
    78 Nキー
    79 Oキー
    80 Pキー
    81 Qキー
    82 Rキー
    83 Sキー
    84 Tキー
    85 Uキー
    86 Vキー
    87 Wキー
    88 Xキー
    89 Yキー
    90 Zキー
    48 0キー
    49 1キー
    50 2キー
    51 3キー
    52 4キー
    53 5キー
    54 6キー
    55 7キー
    56 8キー
    57 9キー
    96 0キー
    97 1キー
    98 2キー
    99 3キー
    100 4キー
    101 5キー
    102 6キー
    103 7キー
    104 8キー
    105 9キー
    106 (*)キー
    107 (+)キー
    108 ENTERキー
    109 ( – )キー
    110 (。)キー
    111 (/)キー
    112 F1キー
    113 F2キー
    114 F3キー
    115 F4キー
    116 F5キー
    117 F6キー
    118 F7キー
    119 F8キー
    120 F9キー
    121 F10キー
    122 F11キー
    123 F12キー
    124 F13キー
    125 F14キー
    126 F15キー
    127 F16キー
    144 NUM LOCKキー
  • Shift【シフト】
    キーが押されたときの「Shiht」キー、「Ctrl」キー、「Alt」キーが押されている状況を整数値で返します。すべて押されていないときは「0」を返します。複数選択されている場合は整数値を加算した値が返されます。

    戻り値 押されているキー
    1 「Shiht」キー
    2 「Ctrl」キー
    4 「Alt」キー

KeyPress【キープレス】イベント

KeyPress【キープレス】 イベントは、フォームやコントロールにフォーカスがある状態でANSI コードに対応するキーまたはキーの組み合わせを押して離したときに発生します。

KeyPress【キープレス】イベントの書式と引数の説明

Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

  • KeyAscii【キーアスキー】
    ANSI キー コードを返します。引数 KeyAscii に 0 を設定するとキー操作がキャンセルされオブジェクトはキーが押されたことを認識しません。

KeyUp【キーアップ】イベント

KeyUp 【キーアップ】イベントはフォームやコントロールにフォーカスがある状態で、キーを押して離したときに発生します。

KeyUp【キーアップ】イベントの書式と引数の説明

Private Sub UserForm_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

KeyDown【キーダウン】イベントの設定値を参照してください

Layout【レイアウト】イベント

Layout【レイアウト】イベントはユーザーフォームに配置されたコントロールが移動したときに発生します。

Layout【レイアウト】イベントの書式

Private Sub UserForm_Layout()


MouseDown【マウスダウン】イベント

MouseDown【マウスダウン】イベントはマウスポインターがフォーム上にあるときにマウスボタンを押したときに発生します。

MouseDown【マウスダウン】イベントの書式と引数の説明

Private Sub UserForm_MouseDown(ByVal Button As Integer,
ByVal Shift As Integer,
ByVal X As Single,
ByVal Y As Single)

  • Button【ボタン】
    押されたボタンを整数値で返します。

    戻り値 押されたボタン
    1 マウス左ボタン
    2 マウス右ボタン
    4 マウス中央ボタン
  • Shift【シフト】
    マウスボタンが押されたときの「Shiht」キー、「Ctrl」キー、「Alt」キーが押されている状況を整数値で返します。すべて押されていないときは「0」を返します。複数選択されている場合は整数値を加算した値が返されます。

    戻り値 押されているキー
    1 「Shiht」キー
    2 「Ctrl」キー
    4 「Alt」キー
  • X【エックス】
    フォームが押された水平位置をポイント単位で単精度浮動小数点型 (Single)の値で返します。
  • Y【ワイ】
    フォームが押された垂直位置をポイント単位で単精度浮動小数点型 (Single)の値で返します。

MouseMove【マウスムーブ】イベント

MouseMove【マウスムーブ】イベントはマウスポインターがフォーム上に移動したときに発生します。

MouseMove【マウスムーブ】イベントの書式と引数の説明

Private Sub UserForm_MouseMove(ByVal Button As Integer,
ByVal Shift As Integer,
ByVal X As Single,
ByVal Y As Single)

MouseDown【マウスダウン】イベントと同じなので参照してください。

MouseUp【マウスアップ】イベント

MouseUp【マウスアップ】イベントはフォーム上でマウスボタンをクリックしてボタンを離したときに発生します。

MouseUp【マウスアップ】イベントの書式と引数の説明

Private Sub UserForm_MouseUp(ByVal Button As Integer,
ByVal Shift As Integer,
ByVal X As Single,
ByVal Y As Single)

MouseDown【マウスダウン】イベントと同じなので参照してください。

QueryClose【クエリクローズ】イベント

QueryClose【クエリクローズ】イベントはフォームが閉じる直前に発生します。

QueryClose【クエリクローズ】イベントの書式と引数の説明

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

  • Cancel【キャンセル】
    フォームが閉じられたか閉じられていないかを整数値で返します

    戻り値 内容
    0 フォームは閉じられます。
    ‐1 フォームは閉じられません

    ユーザーフォームを「×」ボタンで閉じれなくするにはTrueを設定します。(例)Cancel = True

  • CloseMode【クローズモード】
    QueryClose【クエリクローズ】イベントが発生した原因を整数値で返します。

    戻り値 原因
    0 フォーム上のコントロール メニューで
    [閉じる] コマンドを選択しました。
    1 コードから Unload ステートメントが
    呼び出されました。
    2 現在の Windows オペレーティング
    環境セッションが終了しようとしています。
    3 Windows のタスク マネージャーが
    アプリケーションを閉じます。

RemoveControl【リムーブコントロール】イベント

RemoveControl【リムーブコントロール】イベントはフォーム上に設置されたコントロールが削除されたときに発生します。

RemoveControl【リムーブコントロール】イベントの書式と引数の説明

Private Sub UserForm_RemoveControl(ByVal Control As MSForms.Control)

  • Control【コントロール】
    削除されたコントロールを返します。

Resize【リサイズ】イベント

Resize【リサイズ】イベントはフォームのサイズが変更されたときに発生します。

Resize【リサイズ】イベントの書式

Private Sub UserForm_Resize()


Scroll【スクロール】イベント

Scroll【スクロール】イベントはフォーム上に設置されたスクロールボックスの位置が変更された場合に発生します。

Scroll【スクロール】イベントの書式と引数の説明

Private Sub 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)

  • ActionX【アクションエックス】
    水平方向で発生した操作を整数値で返します。
  • ActionY【アクションワイ】
    垂直方向で発生した操作を整数値で返します。

    ActionX,Yの戻り値一覧
    戻り値 内容
    0 変更は発生していません。
    1 キーボードの上矢印キーまたは左矢印キーを
    押すことによるスクロール バーの移動
    2 キーボードの下矢印キーまたは右矢印キーを
    押すことによるスクロール バーの移動
    3 キーボードの Page Up キーを押すことによる
    スクロール バーの移動
    4 キーボードの Page Down キーを押すことによる
    スクロール バーの移動
    5 垂直スクロール バーの上端
    水平スクロール バーの左端
    6 垂直スクロール バーの下端
    水平スクロール バーの右端
    8 ScrollTopプロパティまたは
    ScrollLeftプロパティの値が変化しました。
    9 コントロールがコンテナーにスクロールを要求しました。
    10 ユーザーが別のコントロールに移動しました
  • RequestDx【リクエストディエックス】
    水平方向にスクロール バーを移動する距離です (ポイント単位)
  • RequestDy【リクエストディワイ】
    垂直方向にスクロール バーを移動する距離です (ポイント単位)
  • ActualDx【アクチュアルディエックス】
    スクロール バーが水平方向に移動した距離です (ポイント単位)
  • ActualDy【アクチュアルディワイ】
    スクロール バーが垂直方向に移動した距離です (ポイント単位)

Terminate【ターミネータ】イベント

Terminate【ターミネータ】イベントはフォームが閉じられた後に発生します。Terminate【ターミネータ】は「終了する」という意味があります。

Terminate【ターミネータ】イベントの書式

Private Sub UserForm_Terminate()


Zoom【ズーム】イベント

Zoom【ズーム】イベントフォームの表示倍率を変更したとき発生します。

Zoom【ズーム】イベントの書式と引数の説明

Private Sub UserForm_Zoom(Percent As Integer)

  • Percent【パーセント】
    表示倍率を整数値(%)で返します。

ユーザーフォームのプロパティについては
ユーザーフォームのプロパティ」をご覧ください。


以上で、ユーザーフォームのイベントについての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告