アクティブシート以外を削除するマクロ

Pocket

最近では主流となったタブブラウザですが、例えばFirefoxだと「他のタブをすべて閉じる」という機能があります。
これをExcelに応用して、アクティブシート以外のシートをすべて削除するマクロを作ってみました。
なお一々、確認ダイアログが出てしまいますが、既定の動作のようで回避できませんでした。Excel2007で確認しました。

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

[ 2014年7月14日 | カテゴリー: Excel | タグ: , , ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報