目次
使用環境
- 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
を記述するだけで簡単に実現できます。
基礎を押さえながら、さらに応用的なフォーム操作も習得していきましょう。
ここまでお読みいただき、誠にありがとうございました。