答案1
尝试这个小型 VBA 宏:
Sub StyleKiller()
Dim N As Long, i As Long
With ActiveWorkbook
N = .Styles.Count
For i = N To 1 Step -1
If Not .Styles(i).BuiltIn Then .Styles(i).Delete
Next i
End With
End Sub
这解决了内置对比风俗问题。注意我们运行循环向后以避免破坏循环索引。
答案2
要简单地删除所有内容而不使用INDEX
,请尝试以下操作:
Sub StyleKiller()
Dim st As Style
On Error Resume Next
For Each st In ActiveWorkbook.Styles
If Not st.BuiltIn Then
st.Delete
End If
Next
On Error GoTo 0
End Sub
答案3
以上所有方法都有效,但我们的工作电脑太旧了,所以宏总是崩溃。由于某种原因,很多文件有数百种单元格样式,这会降低文档的速度。
我的解决方案简单又快捷。
选择工作簿中的所有工作表并将其复制到新工作簿中。这样可以保留所有外部链接和格式,但样式不会复制。
将新的工作簿保存到旧工作簿上(先关闭旧工作簿)。
答案4
自定义样式的问题也讨论了http://support.microsoft.com/kb/213904
我发现按照 KB 文章中的建议从 MS Store 安装免费的“XLStyles Tool”是删除自定义样式的一种非常方便的方法。