<tr><td colspan=4>OS名:Windows98パソコン名:エフエムブイ(たしか富士通の)ソフト名:98NT(たしか)ExcelのVBAで、終了処理の記述のところで、activeworkbook以外に開いているexcelのBookがあれば、activeworkbookのみ終了して、excelは終了しない。activeworkbookしか開いていないなら、activeworkbookのcloseとexcelの終了も行う。このような処理をしたいのですが、activeworkbook以外に開いているbookがあるか否かの記述はどのようにしたらいいのでしょうか?
◇-ExcelのVBAでの、終了処理について教えてください。-はな。(8/22-22:05)No.9153
 ┗Re:ExcelのVBAでの、終了処理について教えてください。-無人(8/22-23:42)No.9167
  ┗Re:ExcelのVBAでの、終了処理について教えてください。-無人(8/23-00:22)No.9172
   ┗Re:ExcelのVBAでの、終了処理について教えてください。-milkhouse(8/23-00:56)No.9174
    ┗Re:ExcelのVBAでの、終了処理について教えてください。-はな(8/25-05:19)No.9372

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

OS名:Windows98
パソコン名:エフエムブイ(たしか富士通の)
ソフト名: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ありがとうございました。
またわからないことがでてきたらよろしくお願いいたします。