Excelで複数のブックを開いて作業している場合、1つずつ閉じるのは手間です。
VBAを使えば、開いているすべてのブックを一括で閉じることができます。
1. 保存確認を表示して一括で閉じる
Sub CloseAllWorkbooks()
Dim wb As Workbook
For Each wb In Workbooks
wb.Close '保存確認を表示して閉じる
Next wb
End Sub
解説:
For Each wb In Workbooks
… 開いているすべてのブックを順に処理wb.Close
… ブックを閉じる。未保存なら確認ダイアログが出る
2. 保存せずに一括で閉じる
Sub CloseAllWithoutSaving()
Dim wb As Workbook
For Each wb In Workbooks
wb.Close SaveChanges:=False '保存せずに閉じる
Next wb
End Sub
解説:
SaveChanges:=False
… 変更を保存せず即閉じる- データは復元できないので慎重に使う
3. アクティブなブック以外を閉じる
作業中のブックは残して、それ以外を閉じたい場合の例です。
Sub CloseAllExceptActive()
Dim wb As Workbook
For Each wb In Workbooks
If wb.Name <> ActiveWorkbook.Name Then
wb.Close '保存確認あり
End If
Next wb
End Sub
解説:
If wb.Name <> ActiveWorkbook.Name
で現在のブックを除外- 他のすべてのブックを閉じられる
4. 注意点
- 保存せずに閉じる処理は、データ損失の可能性があるため注意
- 保存確認ありの処理でも、複数ブックを閉じる場合は何度も確認ダイアログが出る
- 重要データがある場合は、閉じる前に自動保存処理を組み込むと安全
コメント