ExcelのVBAでの、終了処理について教えてください。



▲このページのトップに戻る
9153ExcelのVBAでの、終了処理について教えてください。はな。 8/22-22:05

メーカー名:富士通
OS名:Windows98
パソコン名:FMV
ソフト名:98NT(たしか)
--
ExcelのVBAで、終了処理の記述のところで、activeworkbook以外に開いてい
るexcelの
Bookがあれば、activeworkbookのみ終了して、excelは終了しない。
activeworkbookしか開いていないなら、activeworkbookのcloseとexcelの終
了も行う。
このような処理をしたいのですが、activeworkbook以外に開いているbookが
あるか否かの記述はどのようにしたらいいのでしょうか?

▲このページのトップに戻る
9167Re:ExcelのVBAでの、終了処理について教えてください。無人 8/22-23:42
記事番号9153へのコメント
Dim i As Long

If Workbooks.Count > 1 Then
For i = Workbooks.Count To 2 Step -1
Workbooks(i).Close
Next
Else
Application.Quit
End If

▲このページのトップに戻る
9172Re:ExcelのVBAでの、終了処理について教えてください。無人 8/23-00:22
記事番号9167へのコメント
読み間違えた。

activeworkbook以外に開いているexcelのBookがあれば、
activeworkbookのみ終了だったのか...

If Workbooks.Count > 1 Then Workbooks(1).Close
Else Application.Quit
End If

▲このページのトップに戻る
9174Re:ExcelのVBAでの、終了処理について教えてください。milkhouse URL8/23-00:56
記事番号9172へのコメント
>If Workbooks.Count > 1 Then Workbooks(1).Close
>Else Application.Quit
>End If

無人さんが簡潔な解答を書かれておられますので
それに対する補足を少し・・

ブロック形式で書かれる場合はステートメントを分けて

Sub Macro1()
If Workbooks.Count > 1 Then
Workbooks(1).Close
Else
Application.Quit
End Sub

のように、
単一行で書かれる場合は

Sub Macro1()
If Workbooks.Count > 1 Then Workbooks(1).Close Else Application.Quit
End Sub

でないとエラーになりますよね

▲このページのトップに戻る
9372Re:ExcelのVBAでの、終了処理について教えてください。はな 8/25-05:19
記事番号9174へのコメント
m(__)mありがとうございました。
またわからないことがでてきたらよろしくお願いいたします。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言
初めて2006/07/05/(水) 16:29:27MSIE6/WinXP
数度目2008/06/20/(金) 11:20:54 MSIE6/WinXP
初めて2012/06/11/(月) 14:42:04 MSIE8/WinXP