Vba: كيفية الحصول على قيم فريدة من عمود
يمكنك استخدام وظيفة AdvancedFilter في VBA للحصول بسرعة على قائمة بالقيم الفريدة من عمود في Excel.
إليك طريقة شائعة للقيام بذلك:
Sub GetUniqueValues()
Range(" A1:A11 ").AdvancedFilter_
Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True
End Sub
يستخرج هذا المثال تحديدًا قائمة بالقيم الفريدة من النطاق A1:A11 ويعرضها من الخلية E1 .
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: احصل على قيم فريدة من عمود باستخدام VBA
لنفترض أن لدينا مجموعة البيانات التالية في Excel والتي تحتوي على معلومات حول العديد من لاعبي كرة السلة:
لنفترض أننا نريد استخراج قائمة بالقيم الفريدة من عمود الفريق .
يمكننا إنشاء الماكرو التالي للقيام بذلك:
Sub GetUniqueValues()
Range(" A1:A11 ").AdvancedFilter_
Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True
End Sub
عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:
يعرض العمود E الآن قائمة بالقيم الفريدة من عمود الفريق في مجموعة البيانات الأصلية.
لاحظ أن الأسلوب AdvancedFilter غير حساس لحالة الأحرف.
على سبيل المثال، إذا كان لدينا أسماء الفريق “MAVS” و”Mavs” في نفس العمود، فإن هذا الماكرو المحدد سيرجع فقط القيمة الأولى من هاتين القيمتين اللتين تظهران في عمود الفريق نظرًا لأنهما يشتركان في نفس الأحرف بالضبط.
ملاحظة : يمكنك العثور على الوثائق الكاملة لأسلوب AdvancedFilter في VBA هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:
VBA: كيفية حساب الخلايا التي تحتوي على نص معين
فبا: كيفية حساب عدد الصفوف في النطاق
VBA: كيفية حساب القيم الفريدة في النطاق