Rodzina oprogramowania do obsługi arkuszy kalkulacyjnych firmy Microsoft z narzędziami do analizowania, tworzenia wykresów i wymiany danych.
Może był przeprowadzony taki zabieg w którym wyeksportowano style wraz ze skoroszytem (albo np z szablonem). Ten zaś importuje je do aplikacji. Również życzył bym sobie jakiegoś komunikatu - "Czy chcesz użyć innych styli niż domyślne?"
Ale skoro tak łatwo je określić, to chyba z przeniesieniem i zastosowaniem nie jest problem do czasu jeśli nie powstanie chaos - jak na twoim obrazku.
Przerobiłem twój kod bez warunku na BuiltIn, ale skoro jest niepotrzebny to trudno:
Sub usun_styl()
Dim st As Style
Dim x As Integer: x = 0
On Error GoTo nast
For Each st In ActiveWorkbook.Styles
If nazwy_styli(st.Name) = False Then st.Delete: x = x + 1
nast:
Next
MsgBox ("Deleted " & x & " styles")
End Sub
Function nazwy_styli(n) As Boolean
Dim arr(): arr = Array("20% — akcent 1", "20% — akcent 2", "20% — akcent 3", _
"20% — akcent 4", "20% — akcent 5", "20% — akcent 6", _
"40% — akcent 1", "40% — akcent 2", "40% — akcent 3", _
"40% — akcent 4", "40% — akcent 5", "40% — akcent 6", _
"60% — akcent 1", "60% — akcent 2", "60% — akcent 3", _
"60% — akcent 4", "60% — akcent 5", "60% — akcent 6", _
"Akcent 1", "Akcent 2", "Akcent 3", "Akcent 4", "Akcent 5", _
"Akcent 6", "Dane wejściowe", "Dane wyjściowe", "Dobry", _
"Comma", "Comma [0]", "Komórka połączona", "Komórka zaznaczona", _
"Nagłówek 1", "Nagłówek 2", "Nagłówek 3", "Nagłówek 4", _
"Neutralny", "Normal", "Obliczenia", "Percent", "Suma", _
"Tekst objaśnienia", "Tekst ostrzeżenia", "Tytuł", "Uwaga", _
"Currency", "Currency [0]", "Zły")
Dim z%
For z = 0 To UBound(arr)
If n = arr(z) Then nazwy_styli = True: Exit For
Next
End Function