एक्सेल म्याक्रोमा चर र स्थिरताहरू बुझ्दै

यस लेखमा, तपाईले म्याक्रोमा कुन स्थिरता र चरहरू छन्, तिनीहरू कहाँ प्रयोग गर्न सकिन्छ, र विभिन्न डेटा प्रकारहरू बीचको मुख्य भिन्नता के हो भनेर सिक्नुहुनेछ। यो पनि प्रकट हुनेछ किन स्थिरता आवश्यक छ, यदि तपाइँ केवल एक चर लेख्न सक्नुहुन्छ र यसलाई कहिल्यै परिवर्तन नगर्नुहोस्।

अन्य प्रोग्रामिङ भाषाहरू जस्तै, डाटा चर वा स्थिरताहरूमा भण्डारण गर्न सकिन्छ (जसलाई प्रायः डाटा कन्टेनर भनिन्छ)। यो यी अवधारणाहरु बीच मुख्य भिन्नता हो। कार्यक्रममा के हुन्छ भन्ने आधारमा पहिलेको परिवर्तन हुन सक्छ। बारीमा, स्थिरांकहरू एक पटक सेट हुन्छन् र तिनीहरूको मान परिवर्तन गर्दैन।

यदि तपाईले एउटै ठूलो मान धेरै पटक प्रयोग गर्न आवश्यक छ भने स्थिरहरू उपयोगी हुन सक्छन्। नम्बर प्रतिलिपि गर्नुको सट्टा, तपाईं केवल स्थिरको नाम लेख्न सक्नुहुन्छ। उदाहरण को लागी, तपाईले स्थिर "Pi" लाई Pi भण्डारण गर्न प्रयोग गर्न सक्नुहुन्छ, जुन एक स्थिर मान हो। यो धेरै ठूलो छ, र प्रत्येक पटक यसलाई लेख्न वा खोज्न र प्रतिलिपि गर्न धेरै गाह्रो छ। र त्यसोभए, यो दुई क्यारेक्टरहरू लेख्न पर्याप्त छ, र वातावरणले स्वचालित रूपमा इच्छित नम्बर प्रयोग गर्दछ।

एक्सेल प्रयोगकर्ताले वेरिएबलहरू घोषणा गर्न आवश्यक छ यदि उसले समय-समयमा भण्डार गरिएको मान परिवर्तन गर्न आवश्यक छ। उदाहरणका लागि, तपाईंले sVAT_Rate भनिने चल सेट गर्न सक्नुहुन्छ, जसले उत्पादनको लागि हालको VAT दर भण्डारण गर्नेछ। यदि यो परिवर्तन भयो भने, तपाइँ यसलाई चाँडै सच्याउन सक्नुहुन्छ। यो विशेष गरी संयुक्त राज्यमा व्यापार गर्नेहरूका लागि उपयोगी छ, जहाँ केही सामानहरू VAT को अधीनमा नहुन सक्छन् (र यो कर पनि राज्य अनुसार फरक हुन्छ)।

डाटा प्रकारहरू

प्रत्येक डाटा कन्टेनर धेरै प्रकार मध्ये एक हुन सक्छ। यहाँ प्रशोधित जानकारीको मानक प्रकारहरू वर्णन गर्ने तालिका छ। तिनीहरूमध्ये धेरै छन्, र यो एक शुरुआती लाग्न सक्छ कि तिनीहरू एक अर्कालाई दोहोर्याउँछन्। तर यो भ्रमपूर्ण भावना हो। सही डाटा प्रकार निर्दिष्ट गर्नु किन महत्त्वपूर्ण छ जान्नको लागि पढ्नुहोस्।

यो डेटा प्रकार प्रयोग गर्न सिफारिस गरिएको छैन जुन सानो संख्याहरूको लागि मेमोरीमा अधिक ठाउँ लिन्छ। उदाहरण को लागी, नम्बर 1 को लागी, यो बाइट प्रकार को उपयोग गर्न को लागी पर्याप्त छ। यसले कार्यान्वयन योग्य मोड्युलको प्रदर्शनमा सकारात्मक प्रभाव पार्नेछ, विशेष गरी कमजोर कम्प्युटरहरूमा। तर यहाँ धेरै टाढा नजानु महत्त्वपूर्ण छ। यदि तपाइँ डेटा प्रकार प्रयोग गर्नुहुन्छ जुन धेरै कम्प्याक्ट छ, ठूलो आकारको मान यसमा फिट नहुन सक्छ।

स्थिरता र चरहरू घोषणा गर्दै

पहिले घोषणा नगरी डेटा कन्टेनर प्रयोग गर्न कडा रूपमा निरुत्साहित छ। त्यसपछि धेरै समस्याहरू उत्पन्न हुन सक्छ, जसबाट बच्नको लागि चर वा स्थिरांकहरूको गणनाको साथ कोडका केही साना रेखाहरू लेख्न आवश्यक छ।

चर घोषणा गर्न, Dim कथन प्रयोग गरिन्छ। उदाहरण को लागी, यो जस्तै:

Dim Variable_Name Integer को रूपमा

Variable_Name चरको नाम हो। अर्को, As अपरेटर लेखिएको छ, डाटा प्रकार संकेत गर्दै। "Variable_Name" र "Integer" को सट्टा, तपाइँ आफ्नो नाम र डेटा प्रकार सम्मिलित गर्न सक्नुहुन्छ।

स्थिरांकहरू पनि घोषित गर्न सकिन्छ, तर तपाईंले पहिले तिनीहरूको मान निर्दिष्ट गर्नुपर्छ। विकल्प मध्ये एक हो:

Const iMaxCount = 5000

निष्पक्षतामा, केहि अवस्थामा तपाईले चल घोषणा नगरिकन गर्न सक्नुहुन्छ, तर यस अवस्थामा तिनीहरू स्वचालित रूपमा प्रकार प्रकार तोक्नेछन्। यद्यपि, यो निम्न कारणहरूको लागि सिफारिस गरिएको छैन:

  1. भेरियन्ट धेरै बिस्तारै प्रशोधन गरिन्छ, र यदि त्यहाँ धेरै चरहरू छन् भने, कमजोर कम्प्युटरहरूमा सूचना प्रशोधन महत्त्वपूर्ण रूपमा ढिलो हुन सक्छ। यो सेकेन्डले निर्णय गर्नेछ जस्तो लाग्छ? तर यदि तपाइँले कोडको ठूलो संख्यामा लाइनहरू लेख्नु पर्छ, र त्यसपछि यसलाई कमजोर कम्प्युटरहरूमा चलाउनुहोस् (जुन अझै पनि बेचिन्छ, आधुनिक अफिस सुइटहरूलाई धेरै RAM चाहिन्छ), तपाइँ पूर्ण रूपमा काम रोक्न सक्नुहुन्छ। त्यहाँ घटनाहरू छन् जब म्याक्रोहरूको गलत-कल्पना लेखनले स्मार्टबुकहरू फ्रिज गर्न निम्त्यायो जसमा RAM को सानो मात्रा छ र जटिल कार्यहरू गर्न डिजाइन गरिएको छैन। 
  2. नामहरूमा गलत छापहरू अनुमति दिइन्छ, जसलाई विकल्प स्पष्ट कथन प्रयोग गरेर रोक्न सकिन्छ, जसले तपाईंलाई अघोषित चल फेला पार्न अनुमति दिन्छ, यदि फेला पर्यो भने। त्रुटिहरू पत्ता लगाउने यो एउटा सजिलो तरिका हो, किनकि थोरै टाइपोले अनुवादकलाई चर पहिचान गर्न असमर्थ हुन्छ। र यदि तपाईंले चर घोषणा मोडलाई सक्रिय गर्नुभयो भने, मोड्युलको सुरुमा घोषणा नगरिएका डाटा कन्टेनरहरू फेला परेमा अनुवादकले तपाईंलाई म्याक्रो चलाउन अनुमति दिने छैन।
  3. डेटा प्रकारसँग मेल नखाने चर मानहरूको कारणले गर्दा त्रुटिहरू बेवास्ता गर्नुहोस्। सामान्यतया, पूर्णांक चरमा पाठ मान तोक्नाले त्रुटि निम्त्याउँछ। हो, एकातिर, एक सामान्य प्रकार एक घोषणा बिना तोकिएको छ, तर यदि तिनीहरू अग्रिम घोषणा गरियो भने, अनियमित त्रुटिहरू जोगिन सकिन्छ।

तसर्थ, सबै कुराको बावजुद, एक्सेल म्याक्रोमा सबै चरहरू घोषणा गर्न अत्यधिक सिफारिस गरिन्छ।

चर घोषणा गर्दा मनमा राख्नको लागि अर्को कुरा छ। यो भ्यारीएबल घोषणा गर्दा कुनै पनि मान तोक्न सम्भव छैन, तर यस अवस्थामा यसले पूर्वनिर्धारित मान प्राप्त गर्दछ। उदाहरणका लागि:

  1. लाइनहरू खाली बनाइन्छ।
  2. संख्याहरू मान 0 मा लिन्छन्।
  3. बुलियन प्रकारका चरहरूलाई सुरुमा गलत मानिन्छ।
  4. पूर्वनिर्धारित मिति डिसेम्बर 30, 1899 हो।

उदाहरण को लागी, यदि पहिले कुनै मान निर्दिष्ट गरिएको थिएन भने तपाईले मान 0 लाई पूर्णांक चरमा तोक्न आवश्यक पर्दैन। उनीसँग पहिले नै यो नम्बर छ।

विकल्प स्पष्ट कथन

यो कथनले तपाइँलाई VBA कोडमा प्रयोग गरिएका सबै चरहरू घोषणा गर्न र कोड चलाउनु अघि कुनै पनि अघोषित कन्टेनरहरूको उपस्थिति निर्धारण गर्न अनुमति दिन्छ। यो सुविधा प्रयोग गर्नको लागि, केवल म्याक्रो कोडको शीर्षमा विकल्प स्पष्ट कोडको लाइन लेख्नुहोस्।

यदि तपाइँलाई तपाइँको कोडमा यो कथन प्रत्येक पटक समावेश गर्न आवश्यक छ भने, तपाइँ VBA सम्पादकमा विशेष सेटिङ प्रयोग गरेर त्यसो गर्न सक्नुहुन्छ। यो विकल्प सक्षम गर्न, तपाईंले गर्नुपर्छ:

  1. बाटोमा विकास वातावरणमा जानुहोस् - उपकरण > विकल्पहरू।
  2. यस पछि खुल्ने विन्डोमा, सम्पादक ट्याब खोल्नुहोस्।
  3. र अन्तमा, आवश्यक चर घोषणा वस्तुको छेउमा बाकस जाँच गर्नुहोस्।

यी चरणहरू पूरा भएपछि, "ठीक" बटनमा क्लिक गर्नुहोस्। 

यो हो, अब प्रत्येक नयाँ म्याक्रो लेख्दा, यो लाइन कोडको शीर्षमा स्वचालित रूपमा सम्मिलित हुनेछ।

स्थिरता र चरहरूको दायरा

प्रत्येक चर वा स्थिरको मात्र सीमित दायरा हुन्छ। यो तपाइँ कहाँ घोषणा गर्नुहुन्छ निर्भर गर्दछ।

मानौं हामीसँग एउटा प्रकार्य छ कुल खर्च(), र यसले चर प्रयोग गर्दछ sVAT_दर। मोड्युलको स्थितिमा निर्भर गर्दै, यसको फरक दायरा हुनेछ:

विकल्प स्पष्ट

एकल रूपमा sVAT_रेट घटाउनुहोस्

प्रकार्य Total_Cost() दोहोरो रूपमा

.

.

.

अन्तिम कार्य

यदि एक मोड्युलको शीर्षमा एक चर घोषणा गरिएको छ भने, यसले त्यो मोड्युल भर प्रचार गर्छ। अर्थात्, यो प्रत्येक प्रक्रिया द्वारा पढ्न सकिन्छ।

यसबाहेक, यदि कुनै एक प्रक्रियाले चरको मान परिवर्तन गर्यो भने, अर्कोले पनि यो सही मान पढ्नेछ। तर अन्य मोड्युलहरूमा यो चर अझै पनि पढ्न सकिँदैन।

विकल्प स्पष्ट

प्रकार्य Total_Cost() दोहोरो रूपमा

एकल रूपमा sVAT_रेट घटाउनुहोस्

   .

   .

   .

अन्तिम कार्य

यस अवस्थामा, चर प्रक्रिया भित्र घोषणा गरिएको छ, र यदि यो अर्को प्रक्रियामा प्रयोग गरिन्छ भने अनुवादकले त्रुटि फ्याँक्नेछ।

यदि तपाइँ अन्य मोड्युलहरू द्वारा चर पढ्न चाहनुहुन्छ भने, तपाइँले Dim कुञ्जी शब्दको सट्टा सार्वजनिक कुञ्जी शब्द प्रयोग गर्नुपर्छ। त्यसै गरी, तपाईले चरको दायरालाई हालको मोड्युलमा मात्र सीमित गर्न सक्नुहुन्छ पब्लिक स्टेटमेन्ट प्रयोग गरेर, जुन शब्द Dim को सट्टा लेखिएको छ।

तपाईं समान रूपमा स्थिरांकको दायरा सेट गर्न सक्नुहुन्छ, तर यहाँ किवर्ड कन्स्ट अपरेटरसँग सँगै लेखिएको छ।

यहाँ एक राम्रो उदाहरणको साथ तालिका छ यसले कसरी स्थिर र चरहरूसँग काम गर्दछ।

विकल्प स्पष्ट

सार्वजनिक sVAT_रेट एकल रूपमा

सार्वजनिक Const iMax_Count = 5000

यस उदाहरणमा, तपाईले देख्न सक्नुहुन्छ कि कसरी सार्वजनिक कुञ्जी शब्द चर घोषणा गर्न प्रयोग गरिन्छ, र तपाइँलाई सार्वजनिक स्थिरता घोषणा गर्न भिजुअल बेसिक सम्पादकमा के लेख्न आवश्यक छ। यी मान कन्टेनरहरूको दायरा सबै मोड्युलहरूमा लागू हुन्छ।
विकल्प स्पष्ट

निजी sVAT_रेट एकल रूपमा

निजी Const iMax_Count = 5000

यहाँ, चर र स्थिरांकहरू निजी किवर्ड प्रयोग गरेर घोषणा गरिन्छ। यसको मतलब तिनीहरू हालको मोड्युल भित्र मात्र देख्न सकिन्छ, र अन्य मोड्युलहरूमा प्रक्रियाहरूले तिनीहरूलाई प्रयोग गर्न सक्दैन।

किन स्थिर र चर आवश्यक छ

स्थिरांक र चरहरूको प्रयोगले तपाईंलाई कोडको बुझाइको डिग्री बढाउन अनुमति दिन्छ। र यदि सामान्य रूपमा शुरुवातकर्ताहरूसँग किन चरहरू आवश्यक छ भन्ने प्रश्नहरू छैनन् भने, त्यहाँ स्थिरहरूको आवश्यकताको सन्दर्भमा धेरै अस्पष्टताहरू छन्। र यो प्रश्न, पहिलो नजर मा, एकदम तार्किक देखिन्छ। आखिर, तपाइँ एक पटक एक चर घोषणा गर्न सक्नुहुन्छ र यसलाई फेरि कहिल्यै परिवर्तन गर्नुहुन्न।

मेमोरीमा ठूलो ठाउँ ओगटेको डेटा प्रकारहरूको प्रयोगको सन्दर्भमा जवाफ एउटै प्लेनमा कतै बाहिर जान्छ। यदि हामी चरहरूको ठूलो संख्यामा काम गरिरहेका छौं भने, हामी गल्तिले अवस्थित कन्टेनर परिवर्तन गर्न सक्छौं। यदि प्रयोगकर्ताले कुनै निश्चित मान कहिल्यै परिवर्तन हुने छैन भने, तब वातावरणले यसलाई स्वचालित रूपमा नियन्त्रण गर्नेछ।

यो विशेष गरी महत्त्वपूर्ण छ जब म्याक्रो धेरै प्रोग्रामरहरू द्वारा लेखिएको छ। एकलाई थाहा हुन सक्छ कि केहि चर परिवर्तन हुनु हुँदैन। र अर्को छैन। यदि तपाईंले Const अपरेटर निर्दिष्ट गर्नुभयो भने, अर्को विकासकर्ताले थाहा पाउनेछ कि यो मान परिवर्तन हुँदैन।

वा, यदि त्यहाँ एक नाम संग एक स्थिर छ, र चर फरक छ, तर समान नाम। विकासकर्ताले मात्र तिनीहरूलाई भ्रमित गर्न सक्छ। उदाहरणका लागि, परिवर्तन गर्न आवश्यक नपर्ने एउटा भेरिएबललाई Variable11 भनिन्छ, र अर्कोलाई सम्पादन गर्न सकिने Variable1 भनिन्छ। एक व्यक्तिले स्वचालित रूपमा, कोड लेख्दा, गल्तिले अतिरिक्त एकाइ छोड्न सक्छ र यसलाई ध्यान दिँदैन। नतिजाको रूपमा, मानहरूको लागि कन्टेनर परिवर्तन हुनेछ, जुन छुनु हुँदैन।

वा विकासकर्ता आफैले बिर्सन सक्छ कि उसले कुन चरहरू छुन सक्छ र कुन सक्दैन। यो अक्सर हुन्छ जब कोड धेरै हप्ताको लागि लेखिएको छ, र यसको आकार ठूलो हुन्छ। यस समयमा, यो वा त्यो चरको अर्थ के हो भनेर बिर्सन पनि सजिलो छ।

हो, तपाईं यस अवस्थामा टिप्पणीहरू गर्न सक्नुहुन्छ, तर Const शब्द निर्दिष्ट गर्न सजिलो छैन?

निष्कर्ष

भेरिएबलहरू म्याक्रो प्रोग्रामिङको एक आवश्यक भाग हो, जसले तपाईंलाई जटिल कार्यहरू गर्न अनुमति दिन्छ, गणनादेखि प्रयोगकर्तालाई निश्चित घटनाहरूको बारेमा जानकारी दिन वा स्प्रिेडसिटको कक्षहरूमा निर्दिष्ट मानहरू निर्दिष्ट गर्न।

यदि विकासकर्तालाई यी कन्टेनरहरूको सामग्री भविष्यमा परिवर्तन हुने छैन भनी निश्चित रूपमा थाहा छ भने स्थिरहरू प्रयोग गर्नुपर्छ। यो सट्टा चर प्रयोग नगर्न सिफारिस गरिएको छ, किनकि यो संयोगवश गल्ती गर्न सम्भव छ।

जवाफ छाड्नुस्