كيفية استخدام التقاطع في vba (مع أمثلة)
يمكنك استخدام أسلوب التقاطع في VBA لإرجاع نطاق يمثل تقاطع نطاقين محددين.
فيما يلي طريقة شائعة لاستخدام هذه الطريقة عمليًا:
Function FindIntersect(range1, range2)
FindIntersect = Application.Intersect(range1, range2)
End Function
يمكنك بعد ذلك إدخال هذه الدالة مباشرة في جدول بيانات Excel، مع تحديد نطاقين، وستعيد الدالة كل قيمة من القيم الموجودة في النطاق الذي يمثل تقاطع هذين النطاقين.
توضح الأمثلة التالية كيفية استخدام هذه الوظيفة عمليًا مع مجموعة البيانات التالية في Excel:
مثال 1: العثور على تقاطع نطاقين (مع خلية واحدة نتيجة لذلك)
لنفترض أننا نريد إرجاع قيمة الخلية التي تمثل التقاطع بين النطاق A2:C2 و A1:A11 .
يمكننا تحديد الوظيفة التالية في VBA:
Function FindIntersect(range1, range2)
FindIntersect = Application.Intersect(range1, range2)
End Function
يمكننا بعد ذلك كتابة هذه الوظيفة مباشرة في خلية في جدول البيانات الخاص بنا:
ترجع الصيغة القيمة Mavs ، التي تمثل تقاطع النطاق A2:C2 و A1:A11 :
المثال 2: البحث عن تقاطع نطاقين (مع خلايا متعددة نتيجة لذلك)
لنفترض أننا نريد إرجاع نطاق الخلايا بالكامل الذي يمثل التقاطع بين النطاق A1:C3 و A1:B10 .
يمكننا تحديد الوظيفة التالية في VBA:
Function FindIntersect(range1, range2)
FindIntersect = Application.Intersect(range1, range2)
End Function
يمكننا بعد ذلك كتابة هذه الوظيفة مباشرة في خلية في جدول البيانات الخاص بنا:
تُرجع الصيغة نطاق القيم المستطيل بأكمله الذي يمثل تقاطع النطاق A1:C3 و A1:B10 :
ملاحظة : يمكنك العثور على الوثائق الكاملة لأسلوب VBA Intersect هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
فبا: كيفية حساب عدد الأعمدة المستخدمة
فبا: كيفية حساب الصفوف في الجدول
VBA: كيفية حساب عدد الأوراق في المصنف