VBA XLUP | كيفية استخدام VBA XLUP في Excel؟ (مع أمثلة)

برنامج Excel VBA XLUP

هناك شيء واحد يجب أن تضعه في اعتبارك أثناء كتابة التعليمات البرمجية لـ VBA وهو ما تفعله بورقة العمل العادية ويمكنك تكرار نفس الشيء في VBA أيضًا. إحدى هذه الكلمات الرئيسية في ترميز VBA هي "XLUP" ، في هذه المقالة سنوضح لك ما هي هذه الكلمة الرئيسية في ترميز VBA وكيفية استخدامها في الترميز.

كيفية استخدام VBA XLUP في الترميز؟

فيما يلي أمثلة لبرنامج Excel VBA XLUP.

يمكنك تنزيل قالب Excel VBA XLUP هنا - قالب Excel VBA XLUP

مثال # 1 - نقل الخلايا إلى موضع الخلايا المحذوف

على سبيل المثال ، انظر إلى سيناريو البيانات أدناه ، حيث تحتاج إلى حذف بيانات الخلايا الملونة والمزيد حتى بيانات الصفوف أدناه إلى البيانات أعلاه.

تتمثل إحدى طرق حذف هذا في ورقة العمل في تحديد تلك الخلايا التي يمكننا فيها ببساطة حذف الصف بأكمله نفسه. ولكن هنا المواقف صعبة بعض الشيء لأن لدي خلايا ملونة في الجدول 1 عندما نحذف الصف بأكمله حتى يتم حذف صفوف الجدول 2 أيضًا ، لكننا لا نريد أن يحدث هذا بدلاً من ذلك نحتاج فقط إلى حذف الصفوف الملونة ويجب أن تتحرك الخلايا السفلية يصل موضع الخلايا المحذوفة.

أولاً ، حدد الخلايا الملونة واضغط على Ctrl + Minus Symbol (-) لفتح خيار "Delete".

مفتاح الاختصار لفتح خيار "حذف"

في نافذة خيارات "الحذف" ، لدينا أربعة خيارات ، يمكننا اختيار الإجراء وفقًا لمتطلباتنا. نظرًا لأننا نحتاج إلى نقل خلايانا لأعلى من أجل تلك الخلايا المحذوفة ، اختر "Shift Cell Up".

سيكون لدينا صفوف الجدول 2 بدون تغيير.

يتطلب هذا الإجراء في VBA استخدام خاصية "XLUP" لتنفيذ مجموعة مماثلة من الإجراءات في VBA. تعال الآن إلى نافذة محرر VBA وابدأ اسم الماكرو الخاص بك.

رمز:

 XLUP_Example الفرعي () End Sub 

قم أولاً بتوفير الخلية RANGE لتضمينها في هذه العملية. في هذا الإجراء ، فإن الخلايا الأولى التي يتم حذفها ونقلها لأعلى هي خلايا "A5: B5".

رمز:

 نطاق XLUP_Example () فرعي ("A5: B5") End Sub 

لهذا النطاق من الخلايا حدد طريقة "حذف".

رمز:

 نطاق XLUP_Example () فرعي ("A5: B5"). احذف End Sub 

كما ترى في طريقة "Delete" ، لدينا وسيطة اختيارية واحدة مثل [Shift] ، لهذه الوسيطة نحتاج إلى إدخال الوسيطة كـ "XLUP".

رمز:

 نطاق XLUP_Example () فرعي ("A5: B5"). حذف shift: = xlUp End Sub 

يمكنك الآن تشغيل هذا الرمز يدويًا أو من خلال مفتاح الاختصار excel F5 لرؤية النتيجة.

كما ترى في الجدول 1 ، لدينا الصف رقم 6 تم نقله إلى الصف الخامس ومن ناحية أخرى الجدول ، 2 صف (ملون) بدون تغيير ، لذلك باستخدام خيار "VBA XLUP" يمكننا القيام بهذه العملية.

المثال رقم 2 - البحث عن آخر صف مستخدم باستخدام XLUP

تخيل موقفًا تكون فيه في الخلية A20 (انظر إلى الصورة أدناه) وآخر خلية مستخدمة هي A14.

الآن إذا كنت تريد اختيار آخر خلية مستخدمة (A14). كيف ستفعل باستخدام مفتاح الاختصار ؟؟؟

سنستخدم Ctrl + Up Arrow للانتقال إلى آخر خلية مستخدمة من الموضع الحالي.

مفتاح الاختصار للانتقال إلى آخر خلية مستخدمة 

لذلك ، من الخلية الحالية ، حدد Ctrl + سهم لأعلى آخر خلية مستخدمة. وبالمثل ، في ترميز VBA نستخدم END (XLUP) لأداء نفس الشيء.

عد الآن إلى نافذة ترميز VBA.

في هذه النافذة ، سنقوم بمهمة البحث عن آخر صف مستخدم في ورقة العمل. قم بإنشاء إجراء فرعي جديد في نافذة VBA.

رمز:

 XLUP_Example1 الفرعي () End Sub 

لتخزين آخر رقم صف تم استخدامه. حدد المتغير كنوع بيانات VBA LONG.

رمز:

 XLUP_Example1 الفرعي () خافت Last_Row_Number على أنه عنصر فرعي طويل 

الآن بالنسبة لهذا المتغير ، سنقوم بتعيين آخر رقم صف تم استخدامه.

رمز:

 XLUP_Example1 الفرعي () خافت Last_Row_Number على أنها طويلة Last_Row_Number = End Sub 

الآن استخدم كائن RANGE وافتح هذا الكائن.

رمز:

 XLUP_Example1 الفرعي () خافت Last_Row_Number على أنه Long Last_Row_Number = النطاق (End Sub 

اذكر الآن الخلية النشطة (A20) لكائن RANGE .

رمز:

 XLUP_Example1 الفرعي () Dim Last_Row_Number على أنه طويل المدى ("A14"). حدد Last_Row_Number = النطاق ("A20") End Sub 

افتح الآن خاصية END لخلية النطاق المتوفرة.

رمز:

 XLUP_Example1 فرعي () خافت Last_Row_Number كمجال طويل ("A14"). حدد Last_Row_Number = النطاق ("A20"). End (End Sub 

كما ترى أعلاه ، يتعين علينا وضع خيارات مفاتيح الأسهم مثل "xlDown" و "xlToLeft" و "xlToRight" و "xlUp". نظرًا لأننا نتحرك لأعلى من خلية A14 ، اختر خيار "VBA XLUP".

رمز:

 XLUP_Example1 فرعي () Dim Last_Row_Number على أنه طويل المدى ("A14"). حدد Last_Row_Number = Range ("A20"). End (xlUp) End Sub 

بعد الانتقال من خلية A14 ، نحتاج إلى ذكر ما يتعين علينا القيام به لأننا نحتاج إلى آخر رقم صف مستخدم سأستخدم خاصية ROW.

رمز:

 XLUP_Example1 فرعي () Dim Last_Row_Number على أنه طويل المدى ("A14"). حدد Last_Row_Number = Range ("A20"). End (xlUp) .Row End Sub 

الآن بالنسبة لمربع الرسالة ، قم بتعيين قيمة المتغير "Last_Row_Number" .

رمز:

 XLUP_Example1 فرعي () Dim Last_Row_Number على أنه طويل المدى ("A14"). حدد Last_Row_Number = النطاق ("A20"). End (xlUp) .Row MsgBox Last_Row_Number End Sub 

يمكنك الآن تشغيل هذا الرمز يدويًا أو من خلال مفتاح الاختصار F5 ، لرؤية النتيجة.

إذاً مربع الرسالة يظهر رقم الصف الأخير المستخدم كـ 14 ، لذا فإن آخر بياناتنا المستخدمة هي رقم الصف هو خلية A14

في هذه الحالة ، نظرًا لأن البيانات صغيرة جدًا ، فقد بدأنا من خلية A20 ولكن عندما تكون البيانات كبيرة ، لا يمكننا تحديد الخلية التي يجب أخذها في الاعتبار أولاً ، في مثل هذه الحالات ، نحتاج إلى استخدام تقنية مختلفة.

نحتاج إلى استخدام خاصية CELLS ، فيما يلي مثال على ذلك.

رمز:

 XLUP_Example2 فرعي () خافت Last_Row_Number بالطول Last_Row_Number = الخلايا (عدد الصفوف ، 1). النهاية (xlUp) .Row MsgBox Last_Row_Number End Sub 

يمكنك الآن تشغيل هذا الرمز يدويًا أو من خلال مفتاح الاختصار F5 ، لرؤية النتيجة.

بدلاً من كائن RANGE ، استخدمت خاصية CELLS. اسمحوا لي أن أشرح لك هذا بالتفصيل.

ROW.COUNT سيحسب هذا عدد الصفوف الموجودة في العمود 1. ما سيفعله هذا هو أنه سيأخذ في الاعتبار الخلية الأخيرة في ورقة العمل بدلاً من عنوان الخلية العشوائي ، في الحالة أعلاه استخدمنا A14 كخلية عشوائية تبوك.

أشياء يجب تذكرها حول VBA XLUP

  • XLUP هي الكلمة المستخدمة في التعليمات البرمجية لـ VBA لتكرار عمل مفتاح "Up Arrow" في Excel.
  • يتم استخدام VBA XLUP للانتقال من الخلايا النشطة إلى الخلية أعلاه أو آخر خلية مستخدمة.
  • يتم استخدام XLUP بشكل عام مع خاصية END في VBA.

$config[zx-auto] not found$config[zx-overlay] not found