【Excel VBA】ユーザーフォームを表示する(呼び出す)

ExcelのVBAには、ユーザーフォームという便利な機能があります。マクロを少し使う程度あれば、ユーザーフォームを使わなくても問題ありませんが、ユーザーフォームが使えるようになれば、とても便利です。

この記事では、ユーザーフォームを表示する(呼び出す)方法とユーザーフォーム閉じる方法についてご紹介します。

「show」でユーザーフォームを表示する

ユーザーフォームを表示する方法はとても簡単です。

○○○.Show

※○○○には、ユーザーフォーム名が入ります。

実際にユーザーフォームを作って、ユーザーフォームを呼び出してみましょう

ユーザーフォームを作る

ユーザーフォームの作り方
  • Step1
    VBEを起動する

    ①エクセルを開きます。

    ②[Alt]+[F11]でVBEを起動します。

  • Step2
    ユーザーフォーム作成

    ①プロジェクトのWindowを右クリックします。

    ②挿入>ユーザーフォームをクリックします。

    ③ユーザーフォームが作成されました。

  • Step3
    ユーザーフォームの名前を変更

    ①ユーザーフォームを選択します。

    ②プロパティのオブジェクト名を確認すると「UserForm1」となっています。

    ③オブジェクト名を「UFテスト」に変更します。
    ※日本語でも大丈夫です。

  • Step4
    コマンドボタン設置

    ①ツールボックスのコマンドボタンを選択します。

    ②ユーザーフォームの設置したいところを左クリックで開始し、左クリックを離す位置で大きさを決めます。

    ③コマンドボタンが設置されました。

  • Step5
    コマンドボタンの名前と表示を変更

    ①コマンドボタンを選択します。

    ②プロパティの以下の項目をそれぞれ変更します。
     オブジェクト名:CommandButton1 → cbEnd
     Caption:CommandButton1 → 終了
     ※Captionを変えるとコマンドボタンの表示が変わります。

    ③コマンドボタンの表示も変わりました。

  • Step6
    完了

    これでユーザーフォームの準備が完了です。

ユーザーフォームを呼び出す

ユーザーフォームを呼び出すコードを作成します。コードを記述する箇所は、標準モジュールです。

Sub ユーザーフォーム呼び出し()
    UFテスト.Show
End Sub

ちなみに、ユーザーフォームが存在する場合、ユーザーフォームのオブジェクト名を入力後、ピリオド(.)を入力すると候補が表示されます。

セルを選択してもユーザーフォームを開いたままにしたい

ユーザーフォームをそのまま呼び出した場合、ユーザーフォームが前に表示され、後ろのエクセルを選択しようとしても選択できずエラー音が鳴ります。

ユーザーフォームを開いた状態でセルを選択できるようにするには、「Show」の後に半角スペースを入力し、「vbModeless」と入力します。

Sub ユーザーフォーム呼び出し()
    UFテスト.Show vbModeless
End Sub

このコードでユーザーフォームを呼び出すとセルが選択できるようになります。

ユーザーフォームを閉じる

ユーザーフォームを表示させたら、ユーザーフォームを消すコードも必要になります。

Unload Me

で、ユーザーフォームを消すことができます。

ユーザーフォームの右上の「×」ボタンで消すこともできますが、わかりやすく終了ボタンを設置するほうが使いやすいです。

実際に、次の手順で先ほど設置した終了のコマンドボタンを押すと、ユーザーフォームを閉じるようにしてみましょう。

ユーザーフォームを閉じる
  • Step1
    プロシージャ作成

    ①ユーザーフォームの作成画面で、コマンドボタンをダブルクリックします。

    ②コマンドボタンをクリックしたときのプロシージャが作成されます。

  • Step2
    コード入力

    ①下記コードを入力します。

    Private Sub cbEnd_Click()
        Unload Me
    End Sub
  • Step3
    完成

    これで完成です。

ユーザーフォームを呼び出して、ユーザーフォームを終了する

実際にユーザーフォームを呼び出して、終了させてみましょう。

①[Alt]+[F11]でVBEを起動します。

②先ほど作成したユーザーフォームを呼び出しのプロシージャにマウスカーソルを合わせた状態で、[F5]キーを押します。

③ユーザーフォームが呼び出されました。

④終了ボタンをクリックすると、ユーザーフォームが閉じて終了となります。

コメント

タイトルとURLをコピーしました