アクティブシート以外を削除するマクロ
最近では主流となったタブブラウザですが、例えば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
[ 2014年7月14日 | カテゴリー: Excel | タグ: tips , VBA , タブ ]
« PK戦の最初の1本を外すと勝つ確率が0.28に下落する | W杯2014はドイツが優勝 »
コメントを残す