Frage
Ich habe mit der Erklärung einen Tisch zum Excel -Arbeitsbuch hinzugefügt:
ActiveWorkbook.TableStyles.Add("PivotTable SS")
Ich kann es mit:
ActiveWorkbook.TableStyles("PivotTable SS").Delete
Wie kann ich programmgesteuert prüfen, ob es bereits vorhanden ist, bevor ich entscheidet, ob ich löschen soll oder nicht?
Derzeit schaue ich durch alle Tischstile und mache eine selektive Löschung:
For Each ts In ActiveWorkbook.TableStyles
If ts.Name = "PivotTable Style 1" Then
ts.Delete
End If
Next ts
Dies ist jedoch zeitaufwändig. Wie kann ich einfach auf die Existenz von Pivot -Tabellen suchen und sie ohne Schleifen löschen?
Vielen Dank :)
Lösung
Sie können versuchen, den Stil einer Variablen zuzuweisen. Wenn die Variable nichts ist, existiert der Stil nicht. Wenn der Stil nicht vorhanden ist und Sie versuchen, die Variable zuzuweisen, erhalten Sie eine Fehlermeldung, sodass Sie die Fehlerbehandlung vorübergehend aussetzen müssen.
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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow