مؤقت VBA | أمثلة لاستخدام وظيفة Excel VBA Timer

وظيفة Excel VBA TIMER

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

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

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

كيفية استخدام وظيفة TIMER في VBA؟

كما قلت ، فإن دالة TIMER ترجع إجمالي الثواني الماضية من منتصف ليل التاريخ الحالي. عندما أكتب هذا المقال ، يكون الوقت 13:50:45 في الهند.

لقد قمت بإنشاء اسم ماكرو وقمت بتعيين قيمة TIMER في مربع رسالة VBA.

رمز:

 Sub Timer_Example1 () MsgBox Timer End Sub 

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

هذا هو إجمالي الثواني المنقضية من منتصف ليل اليوم ، أي من الساعة 12:00:00 صباحًا

إذن ، من منتصف الليل 12 إلى الوقت الحالي 14:01:20 ، مرت 14 ساعة و 1 دقيقة و 20 ثانية. في ثوانٍ ، تساوي 50480.08 والتي تُعطى بواسطة دالة TIMER الخاصة بنا.

أمثلة

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

مثال # 1 - احسب إجمالي الوقت الذي يستغرقه الرمز الخاص بك

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

رمز:

 Sub Do_Until_Example1 () خافت ST كواحد ST = مؤقت خافت x طويل x = 1 عمل حتى x = 100000 خلية (x، 1) .Value = xx = x + 1 Loop MsgBox Timer - ST End Sub 

إذا قمت بتشغيل هذا الرمز الآن ، فسوف يظهر لي إجمالي الوقت الذي يستغرقه VBA لتنفيذه.

تقول 3.058594 ، النتيجة التي أعطتها هذه الوظيفة هي بالثواني ، أي أن إجمالي الوقت الذي يستغرقه هذا الرمز هو 3.058 ثانية.

لكي تستخدم الرمز ، لقد كتبت الرمز أدناه من أجلك.

رمز:

 Sub Timer_Example1 () Dim StartTime As Single StartTime = Timer 'أدخل الرمز الخاص بك هنا' أدخل الرمز الخاص بك هنا 'أدخل الرمز الخاص بك هنا' أدخل الرمز الخاص بك هنا MsgBox Timer - StartTime End Sub 

استخدم ما ورد أعلاه واكتب الرمز الخاص بك بعد الرمز StartTime = Timer ولكن قبل الرمز MsgBox Timer - StartTime أي في المنطقة الخضراء تحتاج إلى إدخال الكود.

شرح: أولاً المتغير StartTime = Timer يعني في وقت تشغيل الكود أنه يساوي الوقت المنقضي من منتصف الليل إلى وقت تشغيل الكود.

المؤقت - وقت البدء: يعني بعد تشغيل الكود ما هو الوقت المنقضي مطروحًا منه الوقت المسجل في بداية الكود خلال وقت البدء المتغير .

سيعطي هذا الفرق بين وقت البدء ووقت الانتهاء وإرجاع النتيجة.

مثال # 2 - اعرض النتيجة بتنسيق الوقت الصحيح

كما رأينا ، فإن النتيجة التي قدمتها الوظيفة هي في ثوانٍ ولكن ليس بالتنسيق الدقيق. ومع ذلك ، يمكننا تطبيق تنسيق وقت VBA على النتيجة النهائية باستخدام وظيفة FORMAT.

استخدم الكود أدناه لمشاهدة النتيجة بتنسيق الوقت الصحيح ، مثل تنسيق "hh: mm: ss".

لقد استخدمت وظيفة FORMAT هنا. النتيجة هي (المؤقت - وقت البدء). لقد قسمته على الرقم 86400 لتحويله إلى ثوانٍ وفقًا لقواعد تنسيق الوقت ، ثم قمت بتطبيق تنسيق الوقت بتنسيق الساعة والدقيقة والثانية.

الآن إذا قمت بتشغيل الكود ، فستعطي النتيجة مثل هذه.

إذن ، إجمالي الوقت الذي يستغرقه الكود هو 3 ثوانٍ.

جمال هذا الرمز هو اللحظة التي يمر فيها 60 ثانية ، وسوف تظهر النتيجة في غضون دقائق. لقد أوقفت تشغيل الكود مؤقتًا لمدة دقيقة (باستخدام Ctrl + Break) وشاهدت النتيجة.

لذا فإن الوقت الإجمالي الذي يستغرقه هذا الرمز هو الآن دقيقة واحدة وثانيتان.

مثال # 3 - رمز بديل للمؤقت

يوجد بديل لـ TIMER باستخدام وظيفة NOW () . أدناه هو الرمز البديل.

أشياء للذكرى

  • ستضع الدالة TIMER القيمة في نهاية اليوم ، أي الساعة 11:59:59 مساءً.
  • تقوم الدالة NOW بإرجاع التاريخ الحالي والوقت الحالي.
  • يعرض TIMER إجمالي الثواني المنقضية من منتصف ليل التاريخ الحالي.

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