質問
次のステートメントを使用して、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
ただし、これには時間がかかります。ピボットテーブルの存在を確認し、ループせずに削除するにはどうすればよいですか?
ありがとう:)
解決
スタイルを変数に割り当ててみることができます。変数が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
所属していません StackOverflow