Pergunta
Eu adicionei uma pasta de trabalho para o Excel usando a declaração:
ActiveWorkbook.TableStyles.Add("PivotTable SS")
Eu posso excluí -lo usando:
ActiveWorkbook.TableStyles("PivotTable SS").Delete
Como posso verificar programaticamente se já existe antes de decidir se deve excluir ou não?
Atualmente, estou percorrendo todos os estilos de tabela e fazendo uma exclusão seletiva:
For Each ts In ActiveWorkbook.TableStyles
If ts.Name = "PivotTable Style 1" Then
ts.Delete
End If
Next ts
No entanto, isso é demorado. Como posso verificar a existência da tabela de pivô e excluí -la sem loop?
Obrigado :)
Solução
Você pode tentar atribuir o estilo a uma variável. Se a variável não é nada, o estilo não existe. Se o estilo não existir e você tentar atribuir a variável, você receberá uma mensagem de erro; portanto, precisará suspender temporariamente o manuseio de erros.
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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow