كيفية حذف نطاق مسمى باستخدام vba (مع مثال)


يمكنك استخدام بناء الجملة التالي في VBA لحذف النطاقات المسماة من مصنف Excel:

 Sub DeleteNamedRanges()
 
Dim NamedRange As Name

For Each NamedRange In ActiveWorkbook.Names
    If NamedRange.Visible Then NamedRange.Delete
Next NamedRange

End Sub

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: حذف النطاقات المسماة في مصنف Excel باستخدام VBA

لنفترض أن لدينا مصنف Excel يحتوي على النطاقات الثلاثة المسماة التالية:

  • نطاق مسمى يسمى Sheet1_name في Sheet1
  • نطاق مسمى يسمى Sheet2_name في Sheet2
  • نطاق مسمى يسمى Sheet3_name في Sheet3

لرؤية كل من هذه النطاقات المسماة، ما عليك سوى النقر فوق سهم القائمة المنسدلة في مربع الاسم الموجود في الزاوية العلوية اليسرى من ورقة العمل:

لنفترض أننا نريد حذف كل من هذه النطاقات المسماة.

يمكننا إنشاء الماكرو التالي للقيام بذلك:

 Sub DeleteNamedRanges()
 
Dim NamedRange As Name

For Each NamedRange In ActiveWorkbook.Names
    If NamedRange.Visible Then NamedRange.Delete
Next NamedRange

End Sub

بمجرد تنفيذ هذا الماكرو، سيتم حذف كافة النطاقات المسماة في المصنف بأكمله.

يمكننا التحقق من حذفها عن طريق النقر فوق مربع الاسم مرة أخرى في الزاوية اليسرى العليا لإحدى الأوراق:

يمكننا أن نرى أن مربع الاسم لم يعد يحتوي على أسماء النطاقات المسماة.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:

VBA: كيفية لصق القيم فقط بدون تنسيق
فبا: كيفية نسخ الخطوط المرئية إلى ورقة أخرى
VBA: نسخ الصفوف إلى ورقة أخرى بناءً على المعايير

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *