最近では主流となったタブブラウザですが、例えばFirefoxだと「他のタブをすべて閉じる」という機能があります。
これをExcelに応用して、アクティブシート以外のシートをすべて削除するマクロを作ってみました。
なお一々、確認ダイアログが出てしまいますが、既定の動作のようで回避できませんでした。Excel2007で確認しました。
Sub アクティブシート以外を削除()
For Each s In Sheets
If s.Name <> ActiveSheet.Name Then
s.Delete
End If
Next
End Sub
For Each s In Sheets
If s.Name <> ActiveSheet.Name Then
s.Delete
End If
Next
End Sub
2014-07-17追記
確認ダイアログが一回だけ出る方法を思い付きました。
Sub アクティブシート以外を削除()
ReDim otherSheets(Sheets.Count - 2)
x = 0
For Each s In Sheets
If s.Name <> ActiveSheet.Name Then
otherSheets(x) = s.Name
x = x + 1
End If
Next
Sheets(otherSheets).Delete
End Sub
ReDim otherSheets(Sheets.Count - 2)
x = 0
For Each s In Sheets
If s.Name <> ActiveSheet.Name Then
otherSheets(x) = s.Name
x = x + 1
End If
Next
Sheets(otherSheets).Delete
End Sub
コメント