Question

J'ai ajouté un style de table pour exceller dans un classeur à l'aide de l'instruction suivante:

ActiveWorkbook.TableStyles.Add("PivotTable SS")

Je peux le supprimer en utilisant:

ActiveWorkbook.TableStyles("PivotTable SS").Delete

Comment puis-je vérifier par programme s'il existe déjà avant de décider de le supprimer ou non?

Actuellement, je passe en revue tous les styles de tableau et effectue une suppression sélective:

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

Cependant, cela prend beaucoup de temps. Comment puis-je vérifier l'existence d'un tableau croisé dynamique et le supprimer sans effectuer de boucle?

Merci :))

Était-ce utile?

La solution

Vous pouvez essayer d’attribuer le style à une variable. Si la variable est Nothing, le style n'existe pas. Si le style n'existe pas et que vous essayez d'affecter la variable, vous recevrez un message d'erreur. Vous devez donc suspendre temporairement la gestion des erreurs.

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top