【VBA】プログラム実行後にユーザーフォームを自動で閉じる方法|Unload Meの使い方

目次

経緯

Excelでユーザーフォームを使ってツールを作成している中で、
プログラムを実行したあともフォームが画面に残ったままになるのが気になっていました。

見た目としても気になりますし、処理が完了したことを明確に示すためにも、フォームは閉じたいと思い、
今回は「プログラムの実行後にユーザーフォームを自動的に消す方法」を学びました。

解決方法:Unload Meを使う

結論として、VBAでは Unload Me を使うことで、ユーザーフォームを閉じることができます。

たとえば、フォームの実行ボタンに処理を記述している場合、その最後に Unload Me を追加するだけでOKです。

サンプルコード

Private Sub CommandButton1_Click()
    ' ここに何らかの処理を書く
    MsgBox "処理が完了しました。"

    ' フォームを閉じる
    Unload Me
End Sub

このようにしておけば、処理が完了したあとに自動的にフォームが閉じるため、ユーザー側の操作は不要になります。

補足:Unload Meの意味

  • Unload は、フォーム(オブジェクト)を完全に破棄する命令です。
  • Me は、現在表示されているフォーム自身を指します。

つまり Unload Me は、「このフォームを完全に閉じる」という意味になります。

まとめ

  • ユーザーフォームを実行後に自動で閉じたい場合は、最後に Unload Me を記述するだけ
  • 見た目もスッキリし、処理完了の合図としてもわかりやすい
  • フォームを残しておく必要がない場合には、積極的に使うと便利

ちょっとした工夫ですが、使い勝手やユーザー体験の向上に大きく影響します。
ぜひ導入してみてください。

技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。

プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。

気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。

[Kindle Unlimited 読み放題プランをチェックする]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次