エクセルVBAでユーザーフォームを利用しているときの悩み。
- ユーザーフォームを利用していると他のエクセルファイルが開けない!
- 開けてもファイルを操作できない!
今回は、こうした問題を解決するための対処法を解説していきましょう。
ユーザーフォーム利用中のエラー内容
まずは、下記ユーザーフォームをご確認下さい。
このように、エクセルのユーザーフォームを開くことはできるのですが、他のエクセルを表示しても、他のエクセルが触れなくなってしまう現象が起こります。
他のエクセルが開けるようになるための対処法
実際にユーザーフォームを開いた状態で他のエクセルを開くためには、下記の設定を変更することで解決できます。
<設定変更内容>
- ユーザーフォームのプロパティ設定
- ShowModalの設定を「TRUE ⇒ FALSE」変更する
まずはユーザーフォームの設定を変更していきましょう。
ポイント
<設定変更箇所>
開発タブ ⇒ Visual Basic ⇒ プロパティ
を選択して、下記の部分を変更しましょう。
■【表示のプロパティウィンドウを選択】
もしこの段階でプロパティウィンドウが表示されていない場合には、
表示タブ ⇒ プロパティウィンドウを選択すると、画面が表示されます。
画面が表示されたら、「ShowModal」の設定をTRUE⇒FALSEに変更して下さい。
これで、ユーザーフォームを利用中に他のエクセルが開けるようになります。
たったこれだけでよいので、試してみて下さいね。
Excel-VBAで記述するなら
または、この「ShowModal」の設定をプログラム上で変更しても、画面のロックを解除することが可能です。
その記述は下記になります。VBAで記述することで画面の転移も可能なので、その場合には、以下の記述をお試し下さい。
1 | form名.Show vbModeless |
この記述を「form_Load」時のイベントに追加することで、他のエクセルを開くことができるようになります。
まとめ
このように、ユーザーフォームを利用していても、上記の設定を行うことで、他のエクセルに画面転移して、操作することが可能ですので、ぜひトライしてみてくださいね。
合わせて読みたい