
ExcelVBA ユーザーフォームを閉じることで、使用後のリソースを解放し、メモリ使用量を削減する。操作を終了したり、次のステップに進む際に利用します。使い方や注意点など、サンプルコードをもとに具体的に解説します。
「VBAスキルを証明できれば、社内評価アップにつながるかもしれません
👉 VBAを学んで社内評価を上げる方法はこちら
Excel VBA ユーザーフォーム 閉じるシーン
以下のようなシーンで利用で表示します。
・データ入力完了後にフォームを閉じる。
・ユーザーが「キャンセル」や「閉じる」ボタンを押したとき。
・フォームの表示を切り替える。
Excel VBA ユーザーフォーム 閉じる|使い方とポイント
ユーザーフォームを閉じるには主に2つの方法があります。
1. Unload
・フォームを閉じて完全にメモリから解放します。
2. Hide
・フォームを非表示にして再度表示可能な状態を維持します。
・ Unload を使用する場合、フォームの状態はすべてリセットされます。
・ Hide を使用する場合、フォームのデータや状態は保持されますが、非表示のままメモリを占有します。
Excel VBA ユーザーフォーム 閉じるのサンプルコード
「VBAスキルを証明できれば、社内評価アップにつながるかもしれません
👉 VBAを学んで社内評価を上げる方法はこちら
Option Explicit
Sub ShowUserForm()
' ユーザーフォームを表示
UserForm1.Show
End Sub
フォームモジュール(閉じるボタンで Unload を使用する)
Option Explicit
Private Sub CommandButton1_Click()
' フォームを閉じて解放
Unload Me
End Sub
フォームモジュール(閉じるボタンで Hide を使用する)
Option Explicit
Private Sub CommandButton2_Click()
' フォームを非表示にする
Me.Hide
End Sub
フォームモジュール(フォームを非表示後にデータを利用する)
Option Explicit
Private Sub CommandButton3_Click()
' データ入力後にフォームを非表示
Me.Hide
MsgBox "入力されたデータ:" & Me.TextBox1.Value
End Sub
ThisWorkbook(シート上のボタンからフォームを閉じる)
Option Explicit
Sub CloseUserFormFromSheet()
' フォームが開いている場合に閉じる
If UserForm1.Visible Then Unload UserForm1
End Sub
初心者は、用途に応じてどちらを使うべきかを考えると混乱が減ります。サンプルコードをコピペで実行して、フォームの動作を確認してください。
Excel VBAで自動化するコードのベースを習得したい方におすすめ!
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。
「VBAスキルを証明できれば、社内評価アップにつながるかもしれません