• ベストアンサー

Excelの、マクロ終了時にExcel本体も閉じたい

Excelの、マクロ終了時にExcel本体も閉じたいのですが、 どのようなコマンドを埋め込んだらいいのでしょうか? Application.Quit では、Bookは閉じますが、Excel本体は残ってしまいます。 よろしくお願いいたします。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>Bookは閉じますが、Excel本体は残ってしまいます。 ブックを閉じるコードの後に記述しているのであれば、そのコードは実行されない(実行コードが書かれたブックが閉じた時点でVBAが終了します。)のでエクセルが残存して仕舞います。 VBAの書かれたブックを閉じないで、Application.Quitだけを実行するようにしてください。

h_narunaru
質問者

お礼

出来ました ありがとうございます 書く順番には気がつきませんでした。 とても助かりました

関連するQ&A

  • 【Excel VBA】マクロでExcel自体を終了させたい

    環境:WindowsXP、Excel2003 マクロでエクセルを終了(ブックを閉じて、アプリケーション自体も終了)させたいのですが、以下のコードではアプリケーションが閉じてくれません。 ThisWorkbook.Close ExcObj.Quit Application.Quit どこか悪いところはありますでしょうか? よろしくお願いします。

  • Excel のマクロからの印刷と終了

    特定のシートを印刷し,それが終われば Excel 本体を終了させるマクロを考えています。 Worksheets("sample").printout Application.Quit しかし,このコードでは 「問題が発生したため、Microsoft Office Excel を終了します。(略)」 という,エラー報告送信ダイアログが出てしまいます。 どうすれば印刷した後に Excel を終了させることができるのでしょうか。

  • EXCELブックを保存しないで終了

    EXCEL2000で"A"というブックから"B"というブックを マクロのVBAから開きます。 両方のシートが開いた状態から,"B"のマクロより 両方のブック共に保存しないで、EXCEL自体終了するマクロ を"B"側に下のような感じで作成しました。 -------- EXCEL終了処理 ------------------ Application.DisplayAlerts = False ThisWorkbook.Saved = False Application.Quit ---------------------------------------- これで終了しようとすると、「"B"のブックを保存しますか?」というメッセージが表示されてしまいます。終了前のマクロ処理の中で"B"ブックを変更しているので、このようなメッセージが表示されると思うのですが、 Application.DisplayAlerts = False 命令は利かないのですか? どなたか教えて下さい。宜しくお願い致します。

  • EXCELを自動的に終了したい

    VBAマクロで処理をして、終了後に開いたブックを自動的に終了させるため、 Application.Quit を使用しましたが、 他に開いていたブックも終了してしまいます。 ActiveWorkbook.Close に変更すると、 他にブックを開いていない場合、自動的にブックは終了しますが、EXCELが終了しません。 該当のブックだけを終了することは、できないでしょうか?

  • エクセルマクロで、別のブックが開いているかを判定したいのですが。

    いつもお世話になっております。 マクロで質問なのですが、マクロを終了する際に Application.Quit  で終了していましたが、これだとマクロ起動前に別のブックが 開いているとそのブックまで閉じてしまいます。 マクロを起動した際に、別のブックが開いているかを判定して Application.Quit か close を使い分けて終了させたいのですが、 判定する為にはどのようにすればよいのでしょうか? よろしくお願い致します。

  • Excel2010 VBA終了時に強制終了する

    Excel2003、2007で実行した場合は正常終了するが Excel2010で実行するとVBA終了時に強制終了します。 処理は、マクロありブックからマクロなしブックを作成するために、 新規ブックを作成しマクロありブックからシートを移動する処理です。 VBA起動は、フォームコントロールから行っています。 VBA終了時に(End Sub)後にEXCELがなぜか強制終了します。 (Microsoft Excel は動作を停止しました。のメッセージが表示される) なお、 ・フォームコントロールから実行した場合はEXCELが強制終了し、   デバックモードで実行した場合は強制終了しません。  ・マクロありファイルの種類:Excel 97-2003ブック  ・★★★のソースが含まれていると、Excelが強制終了します。 以下、ソース。 Sub ファイル保存()   'マクロなしファイルを作成 CreateNoMacroBook End Sub '←ここで異常終了が発生する。 Sub CreateNoMacroBook() Dim fname As String Dim ns As Integer Dim cnt As Integer Dim i As Integer 'マクロありブックの名前を取得 fname = ActiveWorkbook.Name 'マクロありブックのシート数を取得 cnt = ActiveWorkbook.Worksheets.Count 'すべてのシートをMoveするとエラーになるのでシートを追加 Worksheets.Add After:=Worksheets(Worksheets.Count) '新規ブック作成時のデフォルトのシート数を保管 ns = Application.SheetsInNewWorkbook '新規ブック作成時のシート数を変更 Application.SheetsInNewWorkbook = 1 '新規ブック作成 Workbooks.Add '新規ブック作成時のデフォルトのシート数に戻す Application.SheetsInNewWorkbook = ns 'マクロありブックのシートを新規ブックの"Sheet1"シートの前に移動 For i = 1 To cnt Workbooks(fname).Worksheets(1).Move Before:=Workbooks(Workbooks.Count).Worksheets("Sheet1")  '★★★ Next i '表示用に新規ブックの一枚目のシートをアクティブにする Workbooks(Workbooks.Count).Worksheets(1).Activate Application.DisplayAlerts = False '新規ブックのデフォルトシート"Sheet1"を削除する Workbooks(Workbooks.Count).Worksheets("Sheet1").Delete Workbooks(Workbooks.Count).Activate Application.DisplayAlerts = True End Sub

  • excel2000の終了

    下記のVBAで Workbooks("book1.XLS").Close SaveChanges:=False Application.Quitを書いていますが、 book1.xlsは保存しないで閉じた後にEXCELを終了させる 方法を教えてください。

  • マクロ実行後エクセルを閉じたい

    2つの別々のファイルを開いて片方からもう片方にコピーして 保存して終了する。(両方とも閉じる) というマクロを作ったのですが コピー終了後に実行したマクロ付きのエクセルも閉じてデスクトップ上には何も開いていない状態にしたいのですがworkbookのところに 下記の命令を記述してもうまくいきません。 Application.Run "XXXXXX" ThisWorkbook.Save ThisWorkbook.Saved = True If Workbooks.Count <= 1 Then Application.Quit ThisWorkbook.Close False マクロ付きのエクセルも一旦は閉じるのですがその後に 別の白紙のブックが開いてしまうのです。 続けて他のマクロをスケジュールで実行したいのですが実行時に 「既にエクセルが開いています」みたいな警告が表示され 実行できません。 エクセルを完全に閉じるようにするにはどうしたらいいのでしょうか?

  • Excel 2007: マクロブックをXLSTARTに入れると挙動がおかしくなる?

    いつもお世話になります。 マクロの配布を容易にするため、ブックにマクロを添付して、  C:\Documents and Settings\ユーザー名\   Application Data\Microsoft\Excel\XLSTART に置いてください、と言おうと思っているんですが、これに関連して以下のようなことが起きます。 (1)個人用マクロブックを作るとExcelが一発で閉じなくなる Excelでマクロを作って、個人用マクロブックに保存すると、以下のブックができる。  C:\Documents and Settings\ユーザー名\   Application Data\Microsoft\Excel\XLSTART\PERSONAL.XLSB このファイルができると、以下のように挙動が変わる。 1) 適当なブックをダブルクリックすると、Excelが起動し、そのブックが開く。 2) ウィンドウ右上端の[X]ボタンをクリックしてExcelを閉じようとすると、ブックだけが閉じて、Excelは終了しない<=ここが問題 3) もう1回[X]ボタンをクリックすると、Excelは終了する (2)任意のマクロ付きブックをXLSTARTに入れると、新規文書が開かなくなる Excelでマクロを作って、任意のブックに保存する。 Excel 2007で使う人と、2003で使う人がいるので、xlsで保存する。 ブックを非表示にして、XLSTARTディレクトリに入れると、個人用マクロブック同様にExcel起動時に開かれるので、マクロが使える。 こうすると、上の(1)の現象に加えて、さらに、以下の現象が発生する。 1) Excelを起動すると、通常は白紙の新規ブックが作成されるが、なぜか作成されず、Excelのみが起動される。 以上です。 任意のマクロブックをXLSTARTに入れながら、起動時に白紙のブックが開き、[X]クリックでExcelが一発で終了する方法はあるでしょうか。 よろしくお願いいたします。

  • Excel2010のマクロについて教えてください。

    今下記のマクロ Sub SHUURYOU() ActiveWorkbook.Save Application.Quit End Sub をabc.xlsmと言うシートに書き込みボタンに貼り付けました。 又他のBookにあるdef.xlsmと言うシートにも貼り付けました。 それぞれ単独で開き書き込みをしてマクロボタンを押せば保存して終了します。 しかしabc.xlsmとdef.xlsmが同時に開いていると一方のマクロを実行すると両方ともクローズしてしまいます。 このマクロを単独のシート(book)だけに有効にするにはどのようにマクロを書けばよいのでしょうか。 教えてください。

専門家に質問してみよう