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 :)

Foi útil?

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
scroll top