当您与使用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_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(12259)适用于Microsoft Excel 2007、2010、2013和2016。您可以在下面的Excel的较旧菜单界面中找到此技巧的版本:“ link:/ excel-Deleting_Unwanted_Styles [删除不需要的样式]”。