Excelを使用している他の人と作業する場合、ワークシートを自分のブックから自分のブックにコピーすることは珍しくありません。その場合、コピーされるのはワークシートだけではありません。Excelはそれらの書式設定スタイルもブックにコピーします。スタイルの数によっては、不要なスタイルを手動で削除するのは面倒な場合があります。ただし、マクロを使用する場合、ユーザー定義のスタイルを削除するのは非常に簡単です。次のマクロは、不要なスタイルをすばやく削除します。

Sub StyleKill()

Dim styT As Style     Dim intRet As Integer

For Each styT In ActiveWorkbook.Styles         If Not styT.BuiltIn Then             intRet = MsgBox("Delete style '" & styT.Name & "'?", vbYesNo)

If intRet = vbYes Then styT.Delete         End If     Next styT End Sub

マクロには、ほんの少しのユーザー入力が必要です。マクロがユーザー定義のスタイルを検出するたびに、それを削除するかどうかを尋ねられます。 [はい]ボタンをクリックすると、スタイルがブックから削除されます。

このようなマクロアプローチの制限に注意する必要があります。

最大の制限は、ワークブックが何らかの方法で破損している場合(そして、はい、ワークブックのスタイルが破損している可能性が非常に高い場合)、このマクロはその破損を修正しないことです。代わりに、より包括的な方法でスタイルをクリーンアップする必要があるかどうか疑問に思うことができる便利なサードパーティソリューション(XLStylesTool)を検討することをお勧めします。 XLStylesToolの詳細については、こちらをご覧ください:

https://sergeig888.wordpress.com/2011/03/21/net4-0-version-of-the-xlstylestool-is-now-available/

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(12259)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。

Excelの古いメニューインターフェイスに関するこのヒントのバージョンは、 `link:/ excel-Deleting_Unwanted_Styles [Deleting UnwantedStyles]`にあります。