سؤال

لقد أضفت 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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top