VBA الصف الأخير | أهم 3 طرق للعثور على آخر صف مستخدم؟

في VBA عندما يتعين علينا العثور على الصف الأخير ، هناك العديد من الطرق المختلفة والطريقة الأكثر شيوعًا هي طريقة End (XLDown) وهناك طرق أخرى مثل العثور على القيمة الأخيرة باستخدام وظيفة البحث في VBA ، End (XLDown ). الصف هو أسهل طريقة للوصول إلى الصف الأخير.

الصف الأخير من Excel VBA

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

للحصول على مثال ، انظر إلى الكود أدناه.

رمز:

 Sub Last_Row_Example1 () Range ("D2"). القيمة = WorksheetFunction.Sum (Range ("B2: B7")) End Sub 

يقول الكود أعلاه في قيمة الخلية D2 يجب أن يكون مجموع النطاق ("B2: B7").

الآن سأضيف المزيد من القيم إلى القائمة.

الآن إذا قمت بتشغيل الكود ، فلن تعطيني نتيجة التحديثات بل ستظل ملتزمة بالنطاق القديم ، أي Range (“B2: B7”).

هذا هو المكان الذي يكون فيه الرمز الديناميكي مهمًا جدًا.

في عملية جعل الكود ديناميكيًا ، من المهم جدًا العثور على آخر صف مستخدم في العمود. في هذه المقالة ، سنناقش طرق العثور على الصف الأخير في Excel VBA.

كيفية البحث عن آخر صف مستخدم في العمود؟

فيما يلي الأمثلة للعثور على آخر صف مستخدم في Excel VBA.

يمكنك تنزيل قالب VBA Last Row هذا هنا - قالب VBA Last Row

طريقة 1

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

سنستخدم مفتاح الاختصار Ctrl + سهم لأسفل.

سينتقل بنا إلى آخر صف مستخدم قبل أي خلية فارغة. سنستخدم نفس الطريقة في VBA أيضًا للعثور على الصف الأخير.

الخطوة 1: حدد المتغير على أنه LONG.

رمز:

 Sub Last_Row_Example2 () Dim LR As Long 'لفهم LR = آخر صف نهاية Sub 

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

رمز:

 Sub Last_Row_Example2 () Dim LR As Long 'لفهم LR = الصف الأخير LR = End Sub 

الخطوة 3: اكتب الكود على شكل خلايا (Rows.Count ،

رمز:

 Sub Last_Row_Example2 () Dim LR As Long 'لفهم LR = الصف الأخير LR = الخلايا (Rows.Count ، End Sub 

الخطوة 4: الآن اذكر رقم العمود كـ 1.

رمز:

 Sub Last_Row_Example2 () Dim LR As Long 'لفهم LR = الصف الأخير LR = الخلايا (Rows.Count ، 1) End Sub 

CELLS (Rows.Count، 1) تعني حساب عدد الصفوف الموجودة في العمود الأول.

لذا فإن كود فبا أعلاه سينقلنا إلى الصف الأخير من ورقة إكسل.

الخطوة 5: إذا كنا في الخلية الأخيرة من الورقة للانتقال إلى آخر صف مستخدم ، فسنضغط على مفتاح الاختصار مثل مفتاح Ctrl + Up Arrow .

في VBA ، نحتاج إلى استخدام مفتاح النهاية وما فوق ، مثل End VBA xlUp

رمز:

 Sub Last_Row_Example2 () Dim LR As Long 'لفهم LR = الصف الأخير LR = الخلايا (Rows.Count، 1). End (xlUp) End Sub 

الخطوة 6: الآن سوف يأخذنا إلى آخر صف مستخدم من الأسفل. الآن نحن بحاجة إلى رقم الصف لهذا. لذا استخدم الخاصية ROW للحصول على رقم الصف.

رمز:

 Sub Last_Row_Example2 () Dim LR As Long 'لفهم LR = الصف الأخير LR = الخلايا (Rows.Count، 1). End (xlUp) .Row End Sub 

الخطوة 7: الآن يحتفظ المتغير بآخر رقم صف مستخدم. أظهر قيمة هذا المتغير في مربع الرسالة في رمز VBA.

رمز:

 Sub Last_Row_Example2 () Dim LR As Long 'لفهم LR = الصف الأخير LR = الخلايا (Rows.Count، 1). End (xlUp) .Row MsgBox LR End Sub 

قم بتشغيل هذا الرمز باستخدام مفتاح F5 أو يدويًا ، سيعرض آخر صف تم استخدامه.

انتاج:

آخر صف تم استخدامه في ورقة العمل هذه هو 13.

الآن سأحذف سطرًا آخر وأقوم بتشغيل الكود وأرى ديناميكية الكود.

حسنًا ، الآن ستأخذ النتيجة الصف الأخير تلقائيًا.

هذا هو رمز الصف الأخير الديناميكي لـ VBA.

كما أوضحت في المثال السابق ، قم بتغيير رقم الصف من قيمة رقمية إلى LR.

رمز:

 Sub Last_Row_Example2 () Dim LR As Long 'لفهم LR = الصف الأخير LR = الخلايا (Rows.Count، 1) .End (xlUp) .Row Range ("D2"). Value = WorksheetFunction.Sum (Range ("B2: B "& LR)) End Sub 

لقد أزلت B13 وأضفت اسم المتغير LR.

الآن ، لا يهم عدد الصفوف التي تضيفها ستأخذ المرجع المحدث تلقائيًا.

الطريقة الثانية

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

رمز:

 Sub Last_Row_Example3 () Dim LR As Long LR = Range ("A: A"). SpecialCells (xlCellTypeLastCell) .Row MsgBox LR End Sub 

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

إذا قمت بتشغيل الكود يدويًا أو باستخدام F5 ، فستكون النتيجة 12 لأن 12 هو آخر صف مستخدم.

انتاج:

الآن سأحذف الصف الثاني عشر وأرى النتيجة.

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

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

لقد قمت بحفظ المصنف وأرى النتيجة الآن.

الطريقة رقم 3

يمكننا العثور على الصف الأخير من VBA في النطاق المستخدم. يُرجع الرمز أدناه أيضًا آخر صف مستخدم.

رمز:

 Sub Last_Row_Example4 () Dim LR As Long LR = ActiveSheet.UsedRange.Rows (ActiveSheet.UsedRange.Rows.Count) .Row MsgBox LR End Sub 

سيؤدي هذا أيضًا إلى إرجاع آخر صف مستخدم.

انتاج: