Удалить ВСЕ пользовательские стили ячеек EXCEL

Материал из support.qbpro.ru

1. Вариант:

1. Создаем дубликат файла
2. в одном из excel файлов удаляем styles.xml
3. Открываем оба Excel файла
4. В книге с форматами выделяем отформатированные области
5. Вставляем в файл без форматов в соответствующие области как формат
6. Удаляем лишние стили (их будет не много, можно в ручную)
Открываем файл в текстовом редакторе с возможностью поиска-замены (я пользовался Word-ом, он позволяет искать и вставлять спецсимволы, что удобно).

Файл представляет из себя простыню параметров без переносов строки, что не очень читаемо. Во второй половине файла видим такие строки примерно:

</cellXfs>
<cellStyles count="1599">

а дальше идет указанное число параметров (1599) такого вида:

<cellStyle xfId="94" name="20% - 강조색3 22"/>
<cellStyle xfId="118" name="20% - 강조색3 9"/>

и т.д. (в текстовом редакторе переносов нет, всё в одну строку)

А заканчивается всё это великолепие строкой

</cellStyles>

2. Вариант:

Sub DefaultStyles()
   Dim MyBook As Workbook
   Dim tempBook As Workbook
   Dim CurStyle As Style
   Set MyBook = ActiveWorkbook
   On Error Resume Next
   For Each CurStyle In MyBook.Styles
      Select Case CurStyle.Name
         Case "20% - Accent1", "20% - Accent2", _
               "20% - Accent3", "20% - Accent4", "20% - Accent5", "20% - Accent6", _
               "40% - Accent1", "40% - Accent2", "40% - Accent3", "40% - Accent4", _
               "40% - Accent5", "40% - Accent6", "60% - Accent1", "60% - Accent2", _
               "60% - Accent3", "60% - Accent4", "60% - Accent5", "60% - Accent6", _
               "Accent1", "Accent2", "Accent3", "Accent4", "Accent5", "Accent6", _
               "Bad", "Calculation", "Check Cell", "Comma", "Comma [0]", "Currency", _
              "Currency [0]", "Explanatory Text", "Good", "Heading 1", "Heading 2", _
               "Heading 3", "Heading 4", "Input", "Linked Cell", "Neutral", "Normal", _
               "Note", "Output", "Percent", "Title", "Total", "Warning Text"
         Case Else
            CurStyle.Delete
      End Select
   Next CurStyle
   Set tempBook = Workbooks.Add
   Application.DisplayAlerts = False
   MyBook.Styles.Merge Workbook:=tempBook
   Application.DisplayAlerts = True
   tempBook.Close
End Sub

ИСТОЧНИКИ: