Domanda

Ho aggiunto un TableStyle alla cartella di lavoro Excel utilizzando la dichiarazione:

ActiveWorkbook.TableStyles.Add("PivotTable SS")

Posso cancellarlo usando:

ActiveWorkbook.TableStyles("PivotTable SS").Delete

Come posso verificare a livello di codice se esiste già prima di decidere se eliminare o meno?

Attualmente sto scorrendo tutti gli stili di tabella e sto eseguendo un'eliminazione selettiva:

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

Tuttavia, ciò richiede molto tempo. Come posso semplicemente verificare l'esistenza della tabella pivot ed eliminarla senza eseguire il ciclo?

Grazie :)

È stato utile?

Soluzione

Puoi provare ad assegnare lo stile a una variabile. Se la variabile è Nothing, lo stile non esiste. Se lo stile non esiste e si tenta di assegnare la variabile, verrà visualizzato un messaggio di errore, pertanto è necessario sospendere temporaneamente la gestione degli errori.

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top