苦労してExcel-VBAを組み込んだエクセルファイルを他人に渡して使ってもらうと、エラー表示になったと言われたことありませんか?
原因は簡単で、エクセル操作をオリジナル入力画面のユーザーフォームを使用して、全ての操作を行うようにしていますが、誤ってフォーム右上にある✖印をクリックしてユーザーフォームを閉じてしまったので、操作不能になってしまったことが原因です。
解決方法は簡単で、✖ボタン停止してユーザーフォームを閉じられないようにする方法をご紹介します。
QueryCloseイベントで✖ボタン停止する
エクセルのユーザーフォームにはフォーム右上に✖印があり、クリックすることでフォームを閉じられるようになっています。
このフォームの✖印を誤ってクリックしてフォームを閉じられてしまうと、ワークシート上には何もないので次の操作ができなくなってしまいます。
そこで誤って✖印をクリックしたら、メッセージを発して閉じられないようにします。
まず始めにユーザーフォーム自体をクリックすると、VBAコードを記載する場所に移動できます。
次に、このPrivate Sub UserForm_Click()~End Subをすべて消して、下記コードに差し替えます。
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
MsgBox “【CLOSE】ボタンを使用してください”
Cancel = True
End If
End Sub
- ユーザーフォームが閉じられる直前に実行する
- もしCloseModeがvbFormControlMenu だったら
- メッセージ「【Close】ボタンを使用してください」と表示する
- ユーザーフォームを閉じる処理をキャンセルする
- Ifステートメント終了
- マクロ終了
このようにVBAコードを記載すると、下記のような表示が出るようになり、下の図のように誤ってユーザーフォームを閉じられると、メインMenuユーザーフォームに行けなくなってしまう事を防いでいます。
このように全てのユーザーフォームにコピペしているので、意図しない操作によるフォーム閉じられることが無くなりました。
エクセルファイルを様々な人と共有することあると思いますので、意図しない操作って意外と多いので、対策は必要ですよ!
また、✖印使用停止の他にリボンツールバー非表示やシート名非表示も合わせて使うと、安心できますよ。
関連記事
-
ユーザーフォーム
使っていない人が意外と多いエクセル標準機能でオリジナル入力画面を作る
エクセルで様々な数値などのデータ入力を行う時に、オリジナルの入力画面でエクセルを操作できるってご存知でしたか? この入力画面をユーザーフォームといい、ユーザー… -
ユーザーフォーム
エクセルファイルを開くと自動的にユーザーフォームを表示する方法
オリジナルの入力フォームを表示させる方法に悩んだことありませんか? エクセルファイルを開いたら自動的にユーザーフォームが開くようになったら手間もなく便利なので… -
ユーザーフォーム
Excel-VBAタイマー機能で数秒後にユーザーフォームを表示させる方法
エクセルを使って成績などを入力して作成した成績表で、入力漏れがなかったかどうかなどをチェックするのに数秒間だけ指定したページや範囲を表示させたいと思ったこと… -
ユーザーフォーム
ユーザーフォームの✖ボタンでフォーム自体閉じられないようにする
苦労してExcel-VBAを組み込んだエクセルファイルを他人に渡して使ってもらうと、エラー表示になったと言われたことありませんか? 原因は簡単で、エクセル操作をオリジ… -
ユーザーフォーム
ユーザーフォームのテキストボックスが空欄の時にVBAメッセージを出す方法
オリジナルの入力フォームを作って使用していると、入力を忘れている項目があるのにコマンドボタンを押してしまい、空欄のリストが出来上がって困ったことありませんか… -
ユーザーフォーム
ユーザーフォームのタブやエンターでカーソル移動する順番変更方法
ユーザーフォームを使っていてテキストボックスに入力してtabやenterを押したら、入力したい順にカーソルが移動しなくて困ったことありませんか? タブオーダーという機… -
ユーザーフォーム
エクセルVBAのユーザーフォーム表示位置を任意の場所に変更する方法
オリジナルの入力フォームを作ったのに、シート上の文字やセルの上に表示されているので位置を変えたいと思ったことありませんか? 初期設定の画面中央から好きな位置に… -
ユーザーフォーム
ユーザーフォームを閉じて別のユーザーフォームを開く方法
エクセルVBAでオリジナル入力フォームが作れるユーザーフォームを複数使い分けている時に、表示できなくなったり同時に複数表示してしまい困ったことありませんか? 上…
紅葉スポット
-
伊香保温泉365段の石段の先に紅葉ライトアップされた河鹿橋絶景へ
石段と温泉街で古くから観光客が多く訪れる伊香保温泉には、群馬県の紅葉スポット人気1位・全国でもトップクラスの紅葉スポットがあります。 石段をゆっくりと登ってい… -
雲場池へバスで軽井沢駅から紅葉絶景観光スポットへ滞在時間50分
【紅葉見頃】10月中旬~11月中旬 避暑地軽井沢は実は紅葉も綺麗に見られる観光スポットでも知られ、紅葉名所の雲場池は軽井沢駅から1.3㎞程なので徒歩でも行けますし… -
秩父のパワースポット三峯神社の金蔵落としへ大血川渓谷紅葉へ
秩父市大滝にある大血川渓谷は「金蔵落し」の周りを中心にかえでやもみじが真っ赤に染まり、バス停から近い事もあり多くの観光客が訪れます。 そして金蔵落しは紅葉絶景… -
フリーきっぷで行く千葉県内の紅葉名所や穴場スポット7選
10月中旬頃から始まる関東地方の紅葉も11月中旬過ぎると、ようやく千葉県内の紅葉名所ももみじが真っ赤に色づいて見頃になってきます。 千葉県内の紅葉は12月上旬まで楽… -
「乙女の湖」鎌北湖畔の湖面反射が美しい紅葉絶景へ東毛呂駅からバス
【紅葉見頃】 飯能市の北にある入間郡毛呂山町の山中にある鎌北湖は、毛呂山町ホームページによると昭和10年に完成した農業用貯水池として作られた人工湖で、周囲2㎞… -
フリーきっぷで行く群馬県内の紅葉名所や穴場スポット21選
渋滞避けて電車とバスでのんびり紅葉を見に行きませんか?群馬県の山間部ならば9月中旬頃から紅葉が見られる名所・スポットがありますので、少し早い秋の訪れを感じに出…