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

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

Можно ли удалить ВСЕ пользовательские/созданныe стили ячеек в рабочей книге? Оставив только стили по умолчанию.

Без необходимости удалять их все по одному

введите описание изображения здесь

решение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

Я обнаружил, что установка бесплатного инструмента «XLStyles Tool» из Microsoft Store, как предлагается в статье базы знаний, является очень удобным способом удаления пользовательских стилей.

Связанный контент