VBA إزالة التكرارات | كيفية إزالة القيم المكررة في Excel VBA؟

RemoveDuplicates في VBA Excel

غالبًا ما تكون القيم المكررة غير مطلوبة في Excel خاصةً عندما تريد الحصول على عدد قيم فريدة. عادة ما يكون لدينا مجموعة مختلفة من البيانات للعمل بها ونرى مجموعة من القيم المكررة فيها.

آمل أن تكون على دراية بإزالة التكرارات في ورقة عمل Excel ، إذا لم يكن هناك ما يدعو للقلق ، فسنعرض لك مثالًا بسيطًا لك. في VBA أيضًا يمكننا إجراء طريقة إزالة التكرارات.

لذلك ، فقد أزال جميع القيم المكررة لعنوان "المنطقة". وبالمثل ، يمكننا القيام بهذه المهمة بمساعدة كود فبا.

كيفية إزالة القيم المكررة في ترميز VBA؟

لإزالة القيم المكررة أولاً ، نحتاج إلى ذكر النطاق الذي نشير إليه ، ثم يمكننا الوصول إلى طريقة "إزالة التكرارات". لذلك سيكون بناء الجملة على النحو التالي.

[العمود]: أي عمود من التحديد نحتاج إلى إزالة التكرارات؟ نحتاج إلى ذكر رقم العمود للنطاق المحدد.

[Header]: النطاق الذي حددته له رؤوس أم لا. لدينا ثلاثة خيارات للعمل معها هنا.

  • xl نعم: إذا كانت البيانات تحتوي على رؤوس ، فيمكنك تحديد ذلك.
  • xlNo: إذا كانت البيانات لا تحتوي على رؤوس ، فيمكنك تحديد هذا.
  • xlGuess: سيسمح هذا الخيار لبرنامج Excel بتخمين رؤوس البيانات.

لذلك باستخدام هذه المعلمات ، يمكننا إزالة التكرارات بنقرة زر واحدة دون كسر عرقنا.

في القسم أدناه ، سأعرض لك بعض الأمثلة لإزالة التكرارات من VBA. اتبع الخطوات بعناية لكتابة الرمز بنفسك.

أمثلة على إزالة القيم المكررة في ترميز VBA

فيما يلي أمثلة إزالة التكرار في القيم VBA.

VBA Removeduplicates - المثال رقم 1

ضع في اعتبارك البيانات أدناه لهذا المثال أيضًا.

من البيانات المذكورة أعلاه ، نحتاج إلى إزالة مكررات عمود "المنطقة" ، لذا اتبع الخطوات أدناه لكتابة الرمز.

الخطوة 1: ابدأ الإجراء الفرعي من خلال تسمية كود الماكرو.

الخطوة 2: اذكر نطاق البيانات باستخدام كائن نطاق VBA .

رمز:

نطاق Remove_Duplicates_Example1 () الفرعي ("A1: C9"). End Sub

الخطوة 3: بعد ذكر طريقة VBA " RemoveDuplicates " للوصول إلى النطاق .

رمز:

 نطاق Remove_Duplicates_Example1 () الفرعي ("A1: C9"). 

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

رمز:

 نطاق Remove_Duplicates_Example1 () الفرعي ("A1: C9"). أعمدة RemoveDuplicates: = 1 ، End Sub 

الخطوة 5: الشيء التالي هو ما إذا كانت البيانات تحتوي على رؤوس أم لا. في هذه الحالة ، لدينا رؤوس ، لذا حدد "xlYes".

رمز:

 النطاق الفرعي Remove_Duplicates_Example1 () ("A1: C9"). RemoveDuplicates Columns: = 1 ، Header: = xlYes End Sub 

قم بتشغيل هذا الكود وسوف يقوم VBA بإزالة التكرارات من المنطقة المحددة.

هذه طريقة واضحة للإشارة إلى نطاق الخلايا. إذا كنت ترغب في تحديد النطاق بمفردنا ثم إزالة التكرارات ، فنحن بحاجة إلى استخدام المتغير للعمل معه. في المثال أدناه سأوضح لك كيفية استخدام المتغيرات في VBA.

VBA Removeduplicates - المثال رقم 2

في المثال أعلاه ، قمنا بتوفير نطاق الخلايا على وجه التحديد. الآن سنرى كيفية العمل مع اختيار الخلايا الخاصة.

على سبيل المثال ، لدي مجموعات قليلة من البيانات كما هو موضح في الصورة أدناه.

في كل مرة لا يمكنني تحديد نطاق الخلايا بشكل صريح ، لذلك سنقوم بتعيين التحديد كنطاق.

الخطوة 1: قم بتعريف المتغير على أنه نطاق .

رمز:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range End Sub 

الخطوة 2: النطاق هو كائن سنقوم بتعيين النطاق على أنه اختيارنا.

رمز:

 Sub Remove_Duplicates_Example2 () Dim Rng كمجموعة نطاق Rng = Selection End Sub 

الخطوة 3: الآن بدلاً من نطاق من الخلايا ، يمكننا استخدام المتغير " rng ".

رمز:

 Sub Remove_Duplicates_Example2 () Dim Rng كمجموعة نطاق Rng = التحديد Rng.RemoveDuplicates الأعمدة: = 1 ، الرأس: = xlYes End Sub 

قبل أن نقوم بتشغيل الكود ، نحتاج إلى تحديد نطاق الخلايا أولاً ، ثم يمكننا إزالة التكرارات من نطاق الخلايا المحدد.

يقوم VBA بإزالة التكرارات من أعمدة متعددة - مثال رقم 3

يمكننا أيضًا استخدام VBA لإزالة القيم المكررة من أعمدة Excel أيضًا. لإزالة عدة أعمدة ، نحتاج إلى استخدام المصفوفة وذكر أرقام الأعمدة.

على سبيل المثال ، انظر إلى مثال صورة البيانات.

لدينا قيم مكررة في العمود الأول والعمود الرابع. لذلك سنزيل من هذه الأعمدة. استخدم الكود أدناه لـ VBA لإزالة التكرارات.

رمز:

 Sub Remove_Duplicates_Example3 () Dim Rng كمجموعة نطاق Rng = النطاق ("A1: D9") Rng.RemoveDuplicates الأعمدة: = صفيف (1 ، 4) ، الرأس: = xl نعم نهاية الفرع 

يمكنك تنزيل برنامج VBA Remove Duplicates هنا. VBA إزالة مكررات قالب Excel