- ベストアンサー
エクセル VBA エクセルの表示について
下記のプロシージャを実行し、Userform1のみ表示したじょうたいで、他のエクセルファイルを開くとエクセルが表示されません。他のエクセルファイルを開いた時に、エクセルが自動で表示されるような対処法を教えてください。どうかよろしくお願いします。 Private Sub Workbook_Open() Application.Visible = False UserForm1.Show End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Application.Visible = False だとExcelそのものを非表示にしますから、よく理解していない人はどうしようもなくなります。 UserForm1.Showだと、ユーザーフォーム以外の操作ができません。それはそれでいいのですが、falseにしておいたほうがいろいろ調べるには都合がいいでしょう。 何をしたいのかわからないので 下記を動作確認テスト用に使ってください。 実行するたびに表示・非表示を切り替えます。 また、他のBookも選択できるようにしています。 Private Sub Workbook_Open() ThisWorkbook.Windows(1).Visible = Not ThisWorkbook.Windows(1).Visible UserForm1.Show False End Sub
その他の回答 (1)
- watabe007
- ベストアンサー率62% (476/760)
こんにちは、非表示よりも最小化で行っては Private Sub Workbook_Open() Application.WindowState = xlMinimized AppActivate Application.Caption UserForm1.Show End Sub
お礼
・UserForm1.Show False ・開いているBookの数によりエクセルの表示/非表示する条件式の追加 この2点で問題を解決することができました。回答ありがとうございました。また、何かありましたらよろしくお願いします。
補足
回答ありがとうございます。やはりUserform1(自己アレンジした電卓)の使用法を標準の電卓みたいな感じで気軽に使いたいため、下記の条件を備えた対処法を考えてます。 ・エクセルファイルが1つも開かれていない場合には、本体(エクセル)は非表示でUserform1のみ表示されている状態で起動 ・Userform1が記述されているBookのみが開かれている状態(UserForm1のみ表示され、本体(エクセル)は非表示)で、他のBooKを開いた場合に本体(エクセル)を表示させ、開いたBookを表示させる。 ・他のBooKが開かれていて、エクセル起動中に、Userform1が記述されているBookを開くと、本体(エクセル)を非表示にすることなくUserform1を表示。 どうかよろしくお願いします。
お礼
・UserForm1.Show False ・開いているBookの数によりエクセルの表示/非表示する条件式の追加 この2点で問題を解決することができました。ありがとうございました。また、何かありましたらよろしくお願いします。
補足
回答ありがとうございます。説明不足ですいません。Userform1(自己アレンジした電卓)の使用法を標準の電卓みたいな感じで気軽に使いたいため、下記の条件を備えた対処法を考えてます。 ・エクセルファイルが1つも開かれていない場合には、本体(エクセル)は非表示でUserform1のみ表示されている状態で起動 ・Userform1が記述されているBookのみが開かれている状態(UserForm1のみ表示され、本体(エクセル)は非表示)で、他のBooKを開いた場合に本体(エクセル)を表示させ、開いたBookを表示させる。 ・他のBooKが開かれていて、エクセル起動中に、Userform1が記述されているBookを開くと、本体(エクセル)を非表示にすることなくUserform1を表示。 どうかよろしくお願いします。