वीबीए टाइमर फ़ंक्शन वर्तमान दिन की मध्यरात्रि के बाद से बीत चुके सेकंड की संख्या देता है (एकल डेटा प्रकार के रूप में लौटाया जाता है)।
वीबीए टाइमर फ़ंक्शन का उपयोग करना
निम्न कोड आपको दिखाएगा कि वीबीए टाइमर फ़ंक्शन का उपयोग कैसे करें, यह निर्धारित करने के लिए कि आधी रात के बाद से कितने सेकंड बीत चुके हैं, जिस समय कोड चलाया जा रहा है:
12345678 | उप उपयोग TheVBATimerFunction ()डिम सेकंड्स सिंगल के रूप मेंसेकंड्सेंस = टाइमर ()डिबग.प्रिंट सेकंड्ससेअंत उप |
परिणाम है:
वास्तविक समय प्राप्त करने के लिए वीबीए टाइमर का प्रयोग करें
आप निम्न कोड का उपयोग करके वास्तविक समय देखने के लिए टाइमर फ़ंक्शन से लौटाए गए सेकंड को hh:mm:ss प्रारूप में परिवर्तित कर सकते हैं:
123456789101112131415 | उप प्राप्त करना वास्तविक समय ()डिम सेकंड्ससिंगल के रूप मेंडिम सीटाइम डबल के रूप मेंवास्तविक समय को भिन्न के रूप में कम करेंसेकंड्सेंस = टाइमर ()cTime = सेकंड से / (८६४००)वास्तविक समय = प्रारूप (सीटाइम, "एचएच: मिमी: एसएस")MsgBox "मध्यरात्रि के बाद से सेकंड में बीता समय है" & "" & सेकंड्स & vbNewLine & _ के बाद से"वास्तविक समय है:" और "" और वास्तविक समयअंत उप |
परिणाम है:
समय वीबीए कोड का एक खंड
यदि आप वीबीए में पुन: लिखित कोड को बेंचमार्क करना चाहते हैं या "तेज" विधियों पर बहस करना चाहते हैं तो आप वीबीए के अंतर्निर्मित टाइमर का उपयोग कर सकते हैं। अपने कोड की शुरुआत में टाइमर के बराबर एक वेरिएबल सेट करना और अंत में टाइमर से इसे घटाना आपको एक अच्छा अनुमान कोड के एक टुकड़े को चलने में कितना समय लगता है।
अन्य बातों के अलावा, मैक्रो के सक्रिय रहने के दौरान चलने वाले या चलाने का प्रयास करने वाले अन्य कार्यक्रमों से प्रदर्शन प्रभावित हो सकता है।
निम्नलिखित उदाहरण का उपयोग यह देखने के लिए किया गया था कि पत्रक 1 पर सेल A1 में "परीक्षण" शब्द को डेढ़ मिलियन बार लिखने में कितना समय लगेगा। मेरी मशीन पर 21 सेकंड का समय लगा।
123456789101112131415161718 | उप बेंचमार्क ()डिम काउंट अस लॉन्गमंद बेंचमार्क डबल के रूप मेंबेंचमार्क = टाइमर'परीक्षण करने के लिए कोड की शुरुआत'गणना के लिए = 1 से 500000पत्रक १. कक्ष(१, १) = "परीक्षण"अगली गणना'परीक्षण करने के लिए कोड का अंत'MsgBox टाइमर - बेंचमार्कअंत उप |
यदि आपका कोड धीमा चल रहा है, तो स्क्रीन अपडेट को अक्षम करके इसे तेज करने का प्रयास करें। टाइमर के चलने के दौरान एक्सेल स्क्रीन को सक्रिय रखने के लिए, हम कोड में DoEvents मेथड को इन्सर्ट कर सकते हैं।