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【ステイツ】
    ドラッグされているデータの遷移状態を設定します。以下の定数を指定します。

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

    設定値内容
    fmDropEffectNone0ドロップ ソースをドロップ ターゲットに
    コピーも移動もしません。
    fmDropEffectCopy1ドロップ ソースをドロップ ターゲットに
    コピーします。
    fmDropEffectMove2ドロップ ソースをドロップ ターゲットに
    移動します。
    fmDropEffectCopyOrMove3ドロップ ソースをドロップ ターゲットに
    コピーまたは移動します。
  • 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【アクショオン】
    現在のキーボード設定に基づく保留中のドラッグ アンド ドロップ操作の結果を示します。

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

    他の設定値については
    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マウスの右ボタン
    3CANCELキー
    4マウスの中ボタン
    8バックスペースキー
    9Tabキー
    12クリアキー
    13キーを入力してください
    16シフトキー
    17CTRLキー
    18MENUキー
    19PAUSEキー
    20CAPS LOCKキー
    27ESCキー
    32スペースバーキー
    33ページアップキー
    34ページダウンキー
    35ENDキー
    36HOMEキー
    37左矢印キー
    38上向き矢印キー
    39右矢印キー
    40下矢印キー
    41SELECTキー
    42PRINT SCREENキー
    43EXECUTEキー
    44SNAPSHOTキー
    45INSキー
    46DELキー
    47HELPキー
    65Aキー
    66Bキー
    67Cキー
    68Dキー
    69Eキー
    70Fキー
    71Gキー
    72Hキー
    73Iキー
    74Jキー
    75Kキー
    76Lキー
    77Mキー
    78Nキー
    79Oキー
    80Pキー
    81Qキー
    82Rキー
    83Sキー
    84Tキー
    85Uキー
    86Vキー
    87Wキー
    88Xキー
    89Yキー
    90Zキー
    480キー
    491キー
    502キー
    513キー
    524キー
    535キー
    546キー
    557キー
    568キー
    579キー
    960キー
    971キー
    982キー
    993キー
    1004キー
    1015キー
    1026キー
    1037キー
    1048キー
    1059キー
    106(*)キー
    107(+)キー
    108ENTERキー
    109( – )キー
    110(。)キー
    111(/)キー
    112F1キー
    113F2キー
    114F3キー
    115F4キー
    116F5キー
    117F6キー
    118F7キー
    119F8キー
    120F9キー
    121F10キー
    122F11キー
    123F12キー
    124F13キー
    125F14キー
    126F15キー
    127F16キー
    144NUM 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 オペレーティング
    環境セッションが終了しようとしています。
    3Windows のタスク マネージャーが
    アプリケーションを閉じます。

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垂直スクロール バーの下端
    水平スクロール バーの右端
    8ScrollTopプロパティまたは
    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【パーセント】
    表示倍率を整数値(%)で返します。

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


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

スポンサーリンク

関連記事・広告