VBA

【VBA】スタイルを削除するマクロ

『スタイル』は別のブックからシートをコピーや移動したときなどに、自動的に追加されてしまうため、意図せずExcelの動作を重たくしたり、エラーを発生させることもあります。
VBAマクロを使用することで、一括削除することができます。不要なスタイルを残さないよう、こまめに実施することをオススメします。

コード

1
2
3
4
5
6
7
8
9
10
11
12
13
Sub スタイル削除()
'スタイルを全削除
  On Error Resume Next
 
  Dim i
  Dim s
 
  'Indexを指定して全スタイル削除
  For i = ActiveWorkbook.Styles.Count To 1 Step -1
    s = ActiveWorkbook.Styles(i).Delete
  Next
 
End Sub

解説

スタイルの削除は『ActiveWorkbook.Styles』の[Delete]オプションを使用します。

全てのスタイルを削除するオプションはないため、登録されているスタイルを1つずつ削除します。
ActiveWorkbook.Styles(i).Delete

i にはスタイル登録Noを指定します。今回はすべてのスタイルを一括削除するため、登録されているスタイルの個数(ActiveWorkbook.Styles.Count)から1ずつ減算して削除します。

注意事項

スタイルの数が増えるほど時間が掛かります。スタイルの数によっては完了までに時間が掛かる場合がありますのでご注意ください。