← コード一覧へ戻る
基本UserForm

UserFormをモードレスで表示する

フォームを開いたままシートを操作するモードレス表示です。Showの直後の処理もすぐに実行されます。

実行前に確認

  • モードレス表示中はActiveSheetやSelectionが変わります。書き込み処理を追加するときは対象ブック・シートを明示してください。
  • 表示中のフォームのコードを編集すると入力内容が失われることがあります。×で閉じてから編集します。
  • コードと公式仕様を照合した学習用の例です。Excel実機での実行確認は行っていません。

1サンプルコード

'【貼付先:標準モジュール】
Option Explicit

Public Sub OpenModelessForm()
    UserForm1.Show vbModeless
    Debug.Print "フォーム表示後も処理は続きます。"
End Sub

図で見る開いたまま操作する

イメージ図

フォームを開いたままシートを操作するモードレス表示です。Showの直後の処理もすぐに実行されます。

  1. 表示

    Show vbModelessで開く

  2. 処理継続

    Debug.Printがすぐ動く

  3. 併用

    フォームとシートを操作できる

各操作は、このガイドに指定されたフォームのコードで行います。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    Windows版デスクトップExcelの練習用ブックを.xlsmで保存し、Alt+F11→[挿入]→[ユーザーフォーム]で、名前がUserForm1の空のフォームを用意します。各例は別々に試します。

  2. 2

    [挿入]→[標準モジュール]にコードを貼り付けます。Ctrl+Gでイミディエイトウィンドウを開きます。

  3. 3

    OpenModelessFormをF5で実行します。フォームを閉じなくても、イミディエイトウィンドウにメッセージが出ます。

  4. 4

    Excelに戻り、フォームを開いたまま別のセルを選択できることを確認します。終了時はフォームの×を押します。

使っている機能の公式ドキュメント(Microsoft Learn)