1

次のステートメントを使用して、ExcelブックにTableStyleを追加しました。

ActiveWorkbook.TableStyles.Add("PivotTable SS")

私はそれを使用して削除することができます:

ActiveWorkbook.TableStyles("PivotTable SS").Delete

削除するかどうかを決定する前に、プログラムで既に存在するかどうかを確認するにはどうすればよいですか?

現在、すべてのテーブルスタイルをループして、選択的な削除を行っています。

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

ただし、これには時間がかかります。ピボットテーブルの存在を確認し、ループせずに削除するにはどうすればよいですか?

ありがとう :)

4

1 に答える 1

1

スタイルを変数に割り当ててみることができます。変数が Nothing の場合、スタイルは存在しません。スタイルが存在しない場合に変数を代入しようとすると、エラー メッセージが表示されるため、エラー処理を一時的に停止する必要があります。

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
于 2009-10-22T12:40:06.560 に答える