تحديث شاشة VBA | تسريع عملية تشغيل الكود

تحديث شاشة Excel VBA

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

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

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

في VBA لدينا خاصية تسمى "ScreenUpdating" وقمنا بتعيين هذه الخاصية على FALSE بحيث تقضي على عملية تحديث الشاشة أثناء تشغيل الكود.

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

متى يتم استخدام ميزة تحديث الشاشة؟

إذا كان لديك أي شك متى تستخدم هذه التقنية. انظر إلى النقاط أدناه.

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

كيفية استخدام ميزة تحديث الشاشة في كود VBA؟

يمكنك تنزيل VBA ScreenUpdating Excel Template هنا - VBA ScreenUpdating Excel Template

مثال # 1 - إيقاف تشغيل تحديث الشاشة

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

رمز:

 Sub Screen_Updating () Dim RowCount as Long Dim ColumnCount as Long MyNumber As Long MyNumber = 0 لـ RowCount = 1 إلى 50 لـ ColumnCount = 1 إلى 50 MyNumber = MyNumber + 1 Cells (RowCount، ColumnCount). .Value = MyNumber Next ColumnCount الصف التالي ، العد ، End Sub 

يحتوي ما سبق على حلقة VBA متداخلة لإدراج الأرقام التسلسلية من العمود الأول إلى العمود 50 ثم تعود مرة أخرى وإدراج الرقم التسلسلي بدءًا من 51 من الصف الثاني إلى العمود 50.

مثل هذا ، سيتم إدراجه حتى يصل إلى الصف 50.

أثناء تشغيل هذا الرمز ، يمكنك ملاحظة وميض شاشتك ولا يمكنك فعل أي شيء بخلاف مشاهدة هذه اللحظة المجنونة.

لتجنب كل ذلك يمكننا إضافة تحديث الشاشة إلى FALSE.

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

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

ملاحظة: يجب عليك تطبيق ميزة "تحديث الشاشة" فور إعلان المتغيرات.

بعد تحديد خاصية تحديث الشاشة ضع علامة يساوي (=).

كما يمكننا أن نرى قيمتين منطقيتين ، أي FALSE & TRUE.

لإيقاف تحديث الشاشة ، اضبط الحالة على FALSE.

الآن ، مع بدء تشغيل الماكرو أولاً ، سيتم تحديث حالة تحديث الشاشة إلى FALSE والمتابعة إلى السطر التالي.

منذ تنفيذ الماكرو تحديث الشاشة إلى FALSE ، فلن يسمح للشاشة بالتحديث أثناء تنفيذ الكود لمهمته.

المثال الثاني -

قم دائمًا بتعيين تحديث الشاشة على TRUE في النهاية

لقد رأيت العديد من الأشخاص يضبطون تحديث الشاشة على FALSE لكنهم نسيت إعادته إلى TRUE في نهاية الماكرو.

قم دائمًا بتعيين تحديث الشاشة مرة أخرى إلى TRUE في نهاية الماكرو.

رمز:

 Sub Screen_Updating () Dim RowCount مثل عمود Dim طويل (RowCount، ColumnCount) .Value = MyNumber Next ColumnCount Next RowCount Application.ScreenUpdating = True End Sub 

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