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

War es hilfreich?

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