答案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
我發現按照知識庫文章中的建議從 MS Store 安裝免費的「XLStyles Tool」是刪除自訂樣式的一種非常方便的方法。