स्वचालित गणना बंद करें (या चालू) - वीबीए कोड उदाहरण

जब भी आप किसी सेल मान को अपडेट करते हैं, तो एक्सेल कार्यपुस्तिका की पुनर्गणना करने की प्रक्रिया से गुजरता है। एक्सेल के भीतर सीधे काम करते समय आप चाहते हैं कि यह 99.9% बार हो (अपवाद यह है कि यदि आप एक बहुत बड़ी कार्यपुस्तिका के साथ काम कर रहे हैं)। हालाँकि, यह वास्तव में आपके VBA कोड को धीमा कर सकता है। मैक्रोज़ की शुरुआत में अपनी गणनाओं को मैन्युअल पर सेट करना और मैक्रोज़ के अंत में गणनाओं को पुनर्स्थापित करना एक अच्छा अभ्यास है। यदि आपको कार्यपुस्तिका का पुनर्गणना करने की आवश्यकता है, तो आप मैन्युअल रूप से एक्सेल को गणना करने के लिए कह सकते हैं।

स्वचालित गणना बंद करें

आप मैक्रो के साथ स्वचालित गणना को xlmanual पर सेट करके बंद कर सकते हैं। वीबीए कोड के निम्नलिखित भाग का प्रयोग करें:

1 आवेदन.गणना = xlमैनुअल

स्वचालित गणनाओं को वापस चालू करें

xlAutomatic सेटिंग के साथ स्वचालित गणना को वापस चालू करने के लिए:

1 आवेदन.गणना = xlस्वचालित

मैं आपकी प्रक्रिया की शुरुआत में स्वचालित गणना को अक्षम करने और अंत में स्वचालित गणना को फिर से सक्षम करने की अनुशंसा करता हूं। यह इस तरह दिखेगा:

स्वचालित गणना मैक्रो उदाहरण अक्षम करें

12345678 उप Auto_Calcs_Example ()आवेदन.गणना = xlमैनुअल'कुछ करोआवेदन.गणना = xlस्वचालितअंत उप

मैनुअल गणना

जब स्वचालित गणना अक्षम हो जाती है, तो आप इसका उपयोग कर सकते हैं गणना एक्सेल को पुनर्गणना करने के लिए बाध्य करने का आदेश:

1 गणना

आप एक्सेल को केवल एक व्यक्तिगत वर्कशीट की पुनर्गणना करने के लिए भी कह सकते हैं:

1 वर्कशीट्स ("शीट 1")। गणना करें

आप VBA को केवल एक श्रेणी की पुनर्गणना करने के लिए भी कह सकते हैं (VBA गणना विधियों के बारे में हमारा लेख पढ़ने के लिए क्लिक करें)

यहां बताया गया है कि यह मैक्रो के अंदर कैसा दिख सकता है:

12345678910111213 उप Auto_Calcs_Example_Manual_Calc ()आवेदन.गणना = xlमैनुअल'कुछ करो'Recalcगणना'और चीजें करें'आवेदन.गणना = xlस्वचालितअंत उप

वीबीए सेटिंग्स - स्पीड अप कोड

यदि आपका लक्ष्य अपने कोड को गति देना है, तो आपको इन अन्य सेटिंग्स को समायोजित करने पर भी विचार करना चाहिए:

Screenupdating को अक्षम करने से गति में भारी अंतर आ सकता है:

1 एप्लिकेशन.स्क्रीनअपडेटिंग = गलत

स्टेटस बार को बंद करने से भी थोड़ा फर्क पड़ेगा:

1 एप्लिकेशन। डिस्प्लेस्टैटसबार = गलत

यदि आपकी कार्यपुस्तिका में ईवेंट हैं, तो आपको अपनी प्रक्रियाओं की शुरुआत में ईवेंट को अक्षम करना चाहिए (कोड को गति देने और अंतहीन लूप को रोकने के लिए!):

1 आवेदन। सक्षम करें = गलत

अंत में, आपका वीबीए कोड धीमा हो सकता है जब एक्सेल पेज ब्रेक की फिर से गणना करने का प्रयास करता है (नोट: सभी प्रक्रियाएं प्रभावित नहीं होंगी)। DisplayPageBreaks को बंद करने के लिए कोड की इस पंक्ति का उपयोग करें:

1 ActiveSheet.DisplayPageBreaks = False

आप साइट के विकास में मदद मिलेगी, अपने दोस्तों के साथ साझा करने पेज

wave wave wave wave wave