كيفية استخدام vba المتداخلة مع العبارة؟

النقاط الرئيسية

  • استخدم عبارة VBA With لتقليل التعليمات البرمجية.
  • يمكنك استخدام كائن واحد فقط في المرة الواحدة عند استخدام العبارة With.

ما هو VBA مع الإعلان

VBA With عبارة عن عبارة لتحديد كائن مرة واحدة ثم تنفيذ عبارات متعددة له. بكلمات بسيطة، استخدم عبارة “WITH” لتحديد كائن، وبعد ذلك يمكنك الوصول إلى جميع الخصائص والأساليب دفعة واحدة. يبدأ بـ “بـ” وينتهي بـ “انتهى بـ”.

بناء جملة VBA مع العبارة

إليك بناء الجملة الذي تحتاج إلى استخدامه لاستخدام عبارة With في VBA:

 With [OBJECT] [Statement] End With
vba-syntax-with-statement
  1. مع : هذه هي الكلمة الأساسية للبدء في العبارة التي تخبر VBA أنك تحدد الكائن المذكور.
  2. الكائن : هنا تحتاج إلى تحديد الكائن الذي تريد استخدامه.
  3. البيان : عبارة واحدة أو أكثر تريد تنفيذها باستخدام الكائن المحدد.
  4. End With : هذه هي الكلمة الأساسية لنهاية العبارة.

مثال لفهم VBA مع البيان

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

 Range("A1").Font.Color = RGB(0, 0, 255) Range("A1").Font.Size = 16 Range("A1").Font.Name = "Consolas"

ولكن هنا سنستخدم عبارة With بدلاً من الكود أعلاه. لاستخدام عبارة VBA With، يمكنك اتباع الخطوات التالية:

  1. اكتب أولاً على لوحة المفاتيح “مع”.
  2. بعد ذلك، استخدم نطاق VBA لتحديد الخلية A1 باستخدام كائن الخط لتحديد كائن الخط.
    use-the-vba-range
  3. بعد ذلك، عليك إدخال الرمز الخاص بالخصائص الثلاث والقيم التي تريد تطبيقها.
    code-for-all-three-properties
  4. في النهاية، استخدم الكلمة الأساسية “ينتهي بـ” لإنهاء العبارة.
    end-with-to-end-the-statement

هذا هو الكود الذي كتبته للتو.

 Sub MyMacro() With Range("A1").Font .Color = RGB(0, 0, 255) .Size = 16 .Name = "Consolas" End With End Sub

الآن دعونا نلقي نظرة على كلا الرمزين ونحاول فهم الفرق بيننا باستخدام عبارة “With”.

نظرة على اثنين من الرموز

في الكود الأول، استخدمت كائن الخط ثلاث مرات ثم استخدمت الخاصية التي تريد الوصول إليها وتريد إجراء تغييرات عليها.

لكن في الكود الثاني، استخدمت عبارة With وحددت كائن الخط على الفور. ثم ثلاثة أسطر من التعليمات البرمجية في عبارة “With” للوصول إلى الخصائص الثلاثة.

عند استخدام العبارة “With” وتحديد كائن، فإنه يخبر VBA أن جميع البيانات التي كتبتها يجب تنفيذها مع الكائن المذكور. وهذا لا يمنحك تعليمات برمجية منظمة فحسب، بل يسرع أيضًا تنفيذ الماكرو ويمنحه كفاءة أكبر.

متداخلة مع البيان

لقد أخبرتك في البداية أنه يمكنك تحديد كائن واحد فقط لاستخدام عبارة With. ولكن هناك طريقة لاستخدام أكثر من عنصر أو حتى عناصر متعددة معه. هذا يستخدم VBA LOOPS ، وسنستخدم FOR EACH LOOP للتكرار عبر كائنات متعددة واستخدام “With”.

اسمحوا لي أن أقدم لكم مثالا؛ تحتاج إلى مراجعة جميع أوراق العمل وتطبيق كل الأشياء التالية على جميع الخلايا في كل ورقة عمل.

  • حجم الخط: 16
  • الخط: فيردينا

وفي المصنف، لديك خمس أوراق عمل، كما في المثال التالي:

متداخلة مع البيان

استخدم الخطوات التالية لكتابة عبارة “مع” متداخلة.

  1. أولاً، يجب عليك الإعلان عن متغير لاستخدام كائن ورقة العمل.
    steps-to-write-nested
  2. بعد ذلك، كما قلت، تحتاج إلى استخدام For Each Loop . لذلك تحتاج إلى كتابة رمز باستخدام الحلقة التي يمكنها تكرار جميع أوراق العمل .
    write-code-with-the-loop
  3. أدخل الآن عبارة with التي يمكنها تطبيق إعداد الخط الذي ناقشناه أعلاه. للإشارة إلى جميع الخلايا في ورقة العمل، يمكنك استخدام “الخلايا” أثناء تحديد الموضوع.
    use-cells-while-specifing-the-object

إليك الكود الكامل الذي كتبته للتو.

 Sub MyMacro() Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets With Cells .Font.Size = 16 .Font.Name = "Verdena" End With Next ws End Sub

اضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *