• ベストアンサー

エクセル VBA エクセルの表示について

下記のプロシージャを実行し、Userform1のみ表示したじょうたいで、他のエクセルファイルを開くとエクセルが表示されません。他のエクセルファイルを開いた時に、エクセルが自動で表示されるような対処法を教えてください。どうかよろしくお願いします。 Private Sub Workbook_Open() Application.Visible = False UserForm1.Show End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.1

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

Hirogou32416
質問者

お礼

・UserForm1.Show False ・開いているBookの数によりエクセルの表示/非表示する条件式の追加 この2点で問題を解決することができました。ありがとうございました。また、何かありましたらよろしくお願いします。

Hirogou32416
質問者

補足

回答ありがとうございます。説明不足ですいません。Userform1(自己アレンジした電卓)の使用法を標準の電卓みたいな感じで気軽に使いたいため、下記の条件を備えた対処法を考えてます。 ・エクセルファイルが1つも開かれていない場合には、本体(エクセル)は非表示でUserform1のみ表示されている状態で起動 ・Userform1が記述されているBookのみが開かれている状態(UserForm1のみ表示され、本体(エクセル)は非表示)で、他のBooKを開いた場合に本体(エクセル)を表示させ、開いたBookを表示させる。 ・他のBooKが開かれていて、エクセル起動中に、Userform1が記述されているBookを開くと、本体(エクセル)を非表示にすることなくUserform1を表示。 どうかよろしくお願いします。

その他の回答 (1)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

こんにちは、非表示よりも最小化で行っては Private Sub Workbook_Open()   Application.WindowState = xlMinimized   AppActivate Application.Caption   UserForm1.Show End Sub

Hirogou32416
質問者

お礼

・UserForm1.Show False ・開いているBookの数によりエクセルの表示/非表示する条件式の追加 この2点で問題を解決することができました。回答ありがとうございました。また、何かありましたらよろしくお願いします。

Hirogou32416
質問者

補足

回答ありがとうございます。やはりUserform1(自己アレンジした電卓)の使用法を標準の電卓みたいな感じで気軽に使いたいため、下記の条件を備えた対処法を考えてます。 ・エクセルファイルが1つも開かれていない場合には、本体(エクセル)は非表示でUserform1のみ表示されている状態で起動 ・Userform1が記述されているBookのみが開かれている状態(UserForm1のみ表示され、本体(エクセル)は非表示)で、他のBooKを開いた場合に本体(エクセル)を表示させ、開いたBookを表示させる。 ・他のBooKが開かれていて、エクセル起動中に、Userform1が記述されているBookを開くと、本体(エクセル)を非表示にすることなくUserform1を表示。 どうかよろしくお願いします。

関連するQ&A

  • エクセル VBAについて

    Private Sub Workbook_Open() プロシージャーにてapplication.visible=falseを記述し、Userformのみ表示している状態で、違うエクセルファイルを開くと、表示されません。違うエクセルファイルを開いた時に自動でエクセルが表示できるような対象法を教えてください。お願いします。

  • EXCEL ツールバーを非表示にするには(VBA)

    EXCELを開いた時、ツールバー(standerd)が見えないように(非表示)したいのですが、わかりません。 VBAで下記のように記述するとエラーが返ります。 Private Sub Workbook_Open() CommandBars(3).Visible = False End Sub 教えて頂けると幸いです。

  • Excel VBAでリボンを非表示にした場合

    VBA独学中の初心者です。Excelは2013です。 リボンを非表示にするマクロは以下になると思いますが、元に戻すマクロの記述を書かなかった場合、再度リボンを表示させるにはどんな方法が有るでしょうか。 (元に戻せなかった時が怖いのでほぼ机上検討で質問を投稿しています。従って下記は間違っているところがあるかもしれません。その場合はそれも含めてご指摘いただければありがたいです。) (1) 前提 おそらくその後開くExcelファイル全て非表示になると思っていますので、それを前提に質問しています。 -------------------- (2) 非表示化のVBA Private Sub Workbook_open() Application.ExecuteExcel4Macro “SHOW.TOOLBAR(“”Ribbon””, False)” End Sub ---------- でリボンを非表示した場合で、 -------------------- (3) 再表示:ブックを閉じるときの自動動作として ---------- Private Sub Workbook_BeforeClose() '(あるいは Sub Auto_Close()) Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", True)" End Sub ---------- を書かなかった場合や、 (4) 再表示:コントロールに記述 ---------- Private Sub CommandButton1_Click() Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", True)" End Sub ---------- も配置しなかった場合、 (5) 質問 リボンを再表示させるにはどんな方法が有るでしょうか。 -------------------- 以下の視点で考えてみましたが、どうも答えが見つかりません。 a) マクロを走らせないで開く方法 →Shift+ファイルのダブルクリックでもVBAは動作した →ファイルタブからShift+で開こうとしてもそもそもファイルタブがない b) 別のファイルでもいいのでコントロールがあればそのプロシージャの編集からVBEを開く →右クリックしてもプロシージャが編集できるコマンドが出てこない -------------------- 以上、WEBで探しても見つけられず、おわかりの方教えていただけませんでしょうか。 宜しくお願いします。

  • Excel 数式バーを非表示にしたい(VBA)

    ツール-オプション-表示-数式バーのチェックを外せば 数式バーを非表示にできますが、VBAでやりたいと思います。 次の様に記述してみましたが、書式バーの「数式バー(F)」のボタンが非表示になるだけで数式バー自体は非表示になりません。 Private Sub Workbook_Open() Application.CommandBars("formatting").Controls(23).Visible = False End Sub 次の様に記述してみても今度は「数式バー(F)」のボタンが操作不可になるだけで数式バー自体は非表示になりません。 Private Sub Workbook_Open() Application.CommandBars("formatting").Controls(23).Enabled = False End Sub 他にも試すのですが、エラーになったりで答えに辿り着けず・・ どなたかヒントだけでもお願いします。

  • Excel VBA ブックが閉じれない

    Excel2016を使用してVBAを使用しています。 VBA初心者ですが、よろしくお願いします。 質問内容は以下になります。 EXCEL起動と同時にUserFormを表示させ、UserForm上のコマンドボタンから ダイアログボックスを表示し、他ブックを開く処理なのですが、 他ブックを開くまでは問題ないのですが、他ブックが閉じれない状態になります。 Private Sub Workbook_Open() UserForm1.Show End Sub Private Sub UserForm_Initialize()  各種処理 End Sub Private Sub CommandButton1_Click() Dim OpenFileName As String SetCurrentDirectory (Worksheets(1).Cells(11, 3)) OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?") Workbooks.Open OpenFileName End Sub UserFormを閉じると開いたブックも閉じることが可能です。 タスクマネージャーから強制的に終了しようとすると、以下メッセージが出ます。 ”開いているダイアログボックスがあるため、Microsoft Excel を終了できません。[OK]をクリックしてから、Microsoft Excelに切り替えてダイアログを閉じて下さい。" UserFormを閉じないで他ブックを閉じるには、どうすれば宜しいでしょうか。 申し訳ございませんがご教授下さい、よろしくお願いいたします。

  • Excel VBAで別のブックからユーザーフォームの閉じる

    Excel VBAで別のブックからユーザーフォームの閉じたいのですが うまくいきません。 教えてください。 Private Sub CommandButton2_Click() Application.Visible = False Unload Workbook.("材料リスクマップ検索Ver2.xls")UserForm3・・・・※ Workbooks.Close userform3:=ThisWorkbook.Path & "あああ.xls" Workbooks("\いいい.xls").Close savechanges:=False UserForm1.Show vbModeless End Sub ※印のところが赤字にかわります。 コマンドボタン2は、いいい.xlsにあり、フォームを閉じたいのはあああ.xlsのUserform3です。 その後、ファイル名いいい.xlsは閉じます。 コードが間違っているかと思いますが、どんな風にすればよいかわかりません。初歩的なこととは思いますがよろしくお願い致します。

  • 【パワーポイント】「ファイルを開いたら」vbaの実行したい

    ファイルを開いた時にユーザーフォームを表示させたいのですが どうすればいいですか? エクセルでいうなら Sub Workbook_Open() UserForm1.Show End Sub をしたいです。よろしくお願いします。

  • ExcelVBAのコードで上書き保存

    お世話になります。 ExcelVBAのコードで上書き保存時 「実行時エラー1004 ファイルを保存できません」 となり止ってしまいます。 (自分のPCではエラーも発生せず保存できるのですが 友人のPCでは上記のエラーが発生する状況です) コードはExcel起動時にExcel自体を非表示にし フォームで入力等の処理を行い、上書き保存→Excel終了としています。 Private Sub Workbook_Open() Application.Visible = False 'Excel非表示 userform1.Show End Sub Private Sub CommandButton2_Click() 'userform1 ActiveWorkbook.Save '上書き保存 Application.Quit 'Excel終了 End Sub 何とか解決する方法はないでしょうか? よろしくお願いします。

  • エクセルのマクロを有効にしないと表示しないようにする方法

    エクセルでマクロを有効にしないと、シートが表示されないように設定したいのですが、下記の様に(ほかの方の投稿から)入力すると三行目がエラーになります。素人なので、よくわかりません。どのようにしたら、マクロを有効にしないと全てのシートを表示しないようにできるのでしょうか? ご教授いただけますでしょうか Private Sub Workbook_BeforeClose(Cancel As Boolean) Sheets(\"Sheet1\").Visible = False Sheets(\"Sheet2\").Visible = False ActiveWorkbook.Protect Password:=\"error123\" End Sub Private Sub Workbook_Open() ActiveWorkbook.Unprotect Password:=\"error123\" Sheets(\"Sheet1\").Visible = True Sheets(\"Sheet2\").Visible = True Sheets(\"Sheet1\").Select End Sub

  • UserForm1.Showでエラーになります。

    Thisworkbookのところで Option Explicit Private Sub Workbook_Open() UserForm1.Show End Sub と記述するとUserForm1.Showでエラーになります。 どうすればよいでしょうか。 Excel2013で開発しています。

専門家に質問してみよう