Удаление TableStyle из Excel - PullRequest
       19

Удаление TableStyle из Excel

1 голос
/ 22 октября 2009

Я добавил TableStyle к книге Excel, используя инструкцию:

ActiveWorkbook.TableStyles.Add("PivotTable SS")

Я могу удалить его, используя:

ActiveWorkbook.TableStyles("PivotTable SS").Delete

Как программно проверить, существует ли он, прежде чем принимать решение об удалении или нет?

В настоящее время я перебираю все стили таблиц и делаю выборочное удаление:

    For Each ts In ActiveWorkbook.TableStyles
        If ts.Name = "PivotTable Style 1" Then
            ts.Delete
        End If
    Next ts

Однако это отнимает много времени. Как я могу просто проверить существование сводной таблицы и удалить ее без зацикливания?

Спасибо:)

1 Ответ

1 голос
/ 22 октября 2009

Вы можете попробовать назначить стиль переменной. Если переменная Nothing, тогда стиль не существует. Если стиль не существует и вы пытаетесь присвоить переменную, вы получите сообщение об ошибке, поэтому вам необходимо временно приостановить обработку ошибки.

Sub DeleteAStyle()

    Dim ts As TableStyle

    On Error Resume Next
    Set ts = ActiveWorkbook.TableStyles("PivotTable Style 1")
    On Error GoTo MyUsualErrorHandler

    If Not ts Is Nothing Then
        ts.Delete
    End If

End Sub
...