【VBA】キャンセルボタンでユーザーフォームを閉じる方法

目次

使用環境

  • OS:Windows 10 Pro(バージョン:20H2)
  • ソフト:Microsoft Excel VBA

経緯

VBAを使ってユーザーフォームを作成し、
「キャンセル」というボタンを押したらフォームを閉じる仕組みを作ろうと試みました。

しかし、思うように動作せず、改めてキャンセルボタンでユーザーフォームを閉じる方法を学びました。

解決方法:「Unload UserForm」を使う

実際には、たった1行のコードを書くことで実現できました。

コード例

Private Sub CommandButton1_Click()
    Unload UserForm
End Sub

コード解説

  • 1行目:キャンセルボタン(この例ではCommandButton1)のクリックイベントを記述しています。
     ※オブジェクト名(CommandButton1)は、各自使用しているボタン名に合わせてください。
  • 2行目Unload UserForm
     この命令によって、現在開いているユーザーフォームが閉じられます。
  • 3行目:イベントプロシージャの終了です。

非常にシンプルな実装で、特別な設定や条件分岐も不要です。

注意点

「UserForm」という名前の部分には、実際に作成したユーザーフォーム名を記述する必要があります。
例えば、フォーム名が「UserForm1」であれば、

Unload UserForm1

と記述します。

もし単にUnload Meと書けば、現在のフォームを対象にするため、より汎用的に使うことも可能です。

Unload Me

この書き方も覚えておくと便利です。

感想

ユーザーフォームはまだ使い慣れていない部分が多く、どのような機能があるのかもこれから学んでいく段階です。
一歩ずつ、少しずつ理解を深めながら、今後もVBAのスキルを磨いていきたいと思います。

まとめ

VBAで「キャンセル」ボタンを押したらユーザーフォームを閉じるには、
Unload ユーザーフォーム名
または
Unload Me
を記述するだけで簡単に実現できます。

基礎を押さえながら、さらに応用的なフォーム操作も習得していきましょう。

ここまでお読みいただき、誠にありがとうございました。

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

この記事を書いた人

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

目次