سؤال
لقد أضفت TableTyle to Excel Workbook باستخدام العبارة:
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
ومع ذلك ، هذا يستغرق وقتا طويلا. كيف يمكنني فقط التحقق من وجود الجدول المحوري وحذفه دون حلق؟
شكرًا :)
المحلول
يمكنك محاولة تعيين النمط إلى متغير. إذا كان المتغير لا شيء ، فإن النمط غير موجود. إذا لم يكن النمط موجودًا وحاولت تعيين المتغير ، فستحصل على رسالة خطأ ، لذلك تحتاج إلى تعليق الخطأ بشكل مؤقت.
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