Eliminazione di TableStyle da Excel
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 :)
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