وظيفة نهاية VBA | استخدام End Property في VBA (مع أمثلة)

وظيفة النهاية في VBA

End عبارة عن جملة في VBA لها أشكال متعددة في تطبيقات VBA ، ويمكن وضع عبارة End بسيطة في أي مكان في الكود وستتوقف تلقائيًا عن تنفيذ الكود ، وتستخدم عبارة النهاية في العديد من الإجراءات مثل إنهاء الإجراء الفرعي أو إنهاء أي وظيفة حلقة مثل End if.

لكل شيء ، هناك نهاية ولا يختلف في VBA. يجب أن تكون قد رأيت هذه الكلمة " إنهاء " في جميع الرموز الموجودة في VBA الخاص بك. يمكننا أن ننتهي بـ "End Sub" ، "End Function" ، "End If". هذه شائعة حيث نعلم أن كل نهاية تقترح نهاية الإجراء. لا تتطلب عبارات VBA End هذه أي مقدمة خاصة لأننا على دراية بها في ترميز VBA الخاص بنا.

بصرف النظر عن "End" أعلاه ، لدينا خاصية واحدة "End" في VBA. في هذه المقالة ، سوف نطلعك على تلك الخاصية وكيفية استخدامها في الترميز الخاص بنا.

إنهاء الملكية في VBA

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

على سبيل المثال ، دعنا نتذكر هذا مع ورقة العمل. انظر إلى الصورة أدناه.

نحن الآن في الخلية A1.

إذا أردنا الانتقال إلى آخر خلية مستخدمة أفقيًا ، فإننا نستخدم مفتاح اختصار excel Ctrl + Right Arrow ، فسيأخذنا إلى آخر خلية مستخدمة أفقيًا.

وبالمثل ، إذا أردنا الانتقال إلى آخر خلية مستخدمة لأسفل أو رأسياً ، نضغط على مفتاح الاختصار Ctrl + سهم لأسفل.

لذلك ، للانتقال من اليسار إلى اليمين ، نضغط على Ctrl + Left Arrow ، وللانتقال من الأسفل إلى الأعلى ، نضغط على Ctrl + Up Arrow.

يمكن القيام بشيء مماثل في VBA ولكن ليس باستخدام مفتاح Ctrl بدلاً من ذلك نحتاج إلى استخدام كلمة "End".

أمثلة على وظيفة إنهاء Excel VBA

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

المثال رقم 1 - استخدم خاصية نهاية VBA للتحرك في ورقة العمل

لنلقِ نظرة على كيفية استخدام Excel VBA End للتنقل في الورقة. أولاً ، نحتاج إلى تحديد الخلية التي نحتاج إلى نقلها. حسنًا ، لنفترض أننا بحاجة إلى الانتقال من الخلية A1 ، لذا قم بإحالة الخلية باستخدام كائن نطاق VBA.

رمز:

 Sub End_Example1 () Range ("A1") End Sub 

ضع النقطة (.) لرؤية قائمة التحسس الذكي. حدد "إنهاء" خاصية فبا من القائمة.

رمز:

 نطاق End_Example1 () فرعي ("A1"). End End Sub 

بمجرد تحديد خاصية النهاية ، افتح الأقواس.

رمز:

 نطاق End_Example1 () فرعي ("A1"). End (End Sub 

بمجرد فتح الأقواس ، يمكننا رؤية جميع الخيارات المتاحة مع خاصية "End". حدد "xlToRight" للانتقال من الخلية A1 إلى آخر خلية مستخدمة أفقيًا.

رمز:

 نطاق End_Example1 () فرعي ("A1"). End (xlToRight) End Sub 

بعد الانتقال إلى الخلية الأخيرة ، نحتاج إلى تحديد ما نحتاج إلى القيام به. ضع النقطة (.) لرؤية قائمة التحسس الذكي.

رمز:

نطاق End_Example1 () فرعي ("A1"). نهاية (xlToRight). End Sub

اختر طريقة "تحديد" من قائمة IntelliSense.

رمز:

 Sub End_Example1 () Range ("A1"). End (xlToRight). حدد End Sub 

سيستفيد هذا من الخلية A1 حتى آخر خلية مستخدمة أفقيًا.

وبالمثل ، استخدم الخيارات الثلاثة الأخرى للتحرك يمينًا ، يسارًا ، أسفل ، لأعلى.

للتحرك يمينًا من الخلية A1.

رمز:

 Sub End_Example1 () Range ("A1"). End (xlToRight). حدد End Sub 

للتحرك لأسفل من الخلية A1.

رمز:

 Sub End_Example1 () Range ("A1"). End (xlDown). حدد End Sub 

للتحرك لأعلى من الخلية A5.

رمز:

 نطاق End_Example1 فرعي ("A5"). End (xlUp). حدد End Sub 

للتحرك إلى اليسار من الخلية D1.

رمز:

 نطاق End_Example1 فرعي ("D1"). End (xlToLeft). حدد End Sub 

جميع الرموز المذكورة أعلاه هي أمثلة نموذجية لاستخدام خاصية "End" للتنقل في ورقة العمل.

سنرى الآن كيفية تحديد النطاقات باستخدام خاصية "End".

مثال # 2 - التحديد باستخدام خاصية النهاية

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

حدد A1 إلى آخر خلية مستخدمة

لتحديد الخلايا من A1 إلى آخر خلية مستخدمة أفقيًا ، اذكر أولاً الخلية A1 في كائن النطاق.

رمز:

 نطاق End_Example2 () الفرعي ("A1" ، End Sub 

بالنسبة إلى الوسيطة الثانية ، افتح كائن نطاق آخر واذكر الخلية كـ A1 فقط.

رمز:

 Sub End_Example2 () Range ("A1"، Range ("A1") End Sub 

أغلق قوسًا واحدًا فقط وضع نقطة لتحديد خاصية Excel VBA End.

رمز:

 نطاق End_Example2 () فرعي ("A1" ، نطاق ("A1"). End (End Sub 

الآن حدد xlToRight وأغلق قوسين.

رمز:

 Sub End_Example2 () Range ("A1"، Range ("A1"). End (xlToRight)) End Sub 

اختر الآن طريقة "تحديد".

رمز:

 Sub End_Example2 () Range ("A1"، Range ("A1"). End (xlToRight)). حدد End Sub 

حسنًا ، انتهينا.

قم بتشغيل هذا الرمز لمعرفة التأثير.

كما ترى ، فقد حدد النطاق من A1 إلى D1.

وبالمثل لتحديد أسفل ، استخدم الكود أدناه.

رمز:

 Sub End_Example2 () Range ("A1"، Range ("A1"). End (xlDown)). حدد "للتحديد من اليسار إلى اليمين End Sub 

رمز:

 Sub End_Example2 () Range ("A1"، Range ("A1"). End (xlDown)). حدد "للتحديد من أعلى إلى أسفل End Sub 

رمز:

 Sub End_Example2 () Range ("D1"، Range ("D1"). End (xlToLeft)). حدد "للتحديد من اليمين إلى اليسار End Sub 

رمز:

 Sub End_Example2 () Range ("A5"، Range ("A5"). End (xlUp)). حدد "للتحديد من الأسفل إلى الأعلى End Sub 

المثال رقم 3 - حدد اليمين إلى اليسار ، ومن اليمين إلى الأسفل ، والأعلى

لقد رأينا كيفية التحديد أفقيًا وعموديًا. لتحديد كل من الرأسي والأفقي ، نحتاج إلى استخدام خاصيتين "End". لتحديد البيانات من A1 إلى D5 ، نحتاج إلى استخدام الكود أدناه.

رمز:

 Sub End_Example3 () Range ("A1"، Range ("A1"). End (xlDown). End (xlToRight)). حدد "To من الخلية A1 لآخر استخدام للخلية لأسفل ولليمين End Sub 

سيؤدي هذا إلى تحديد النطاق الكامل مثل أدناه.

مثل هذا ، يمكننا استخدام خاصية وظيفة VBA “End” لتحديد نطاق من الخلايا.


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