Удаление TableStyle из Excel
Я добавил 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 ответ
Решение
Вы можете попробовать присвоить стиль переменной. Если переменная 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