Excel Macros ۾ متغير ۽ مستقل کي سمجھڻ

هن آرٽيڪل ۾، توهان سکندا ته ميڪرو ۾ ڪهڙا مستقل ۽ متغير آهن، اهي ڪٿي استعمال ڪري سگهجن ٿا، ۽ مختلف ڊيٽا جي قسمن ۾ بنيادي فرق ڇا آهي. اهو پڻ ظاهر ڪيو ويندو ته مستقل ڇو گهربل آهن، جيڪڏهن توهان صرف هڪ متغير لکي سگهو ٿا ۽ ان کي ڪڏهن به تبديل نه ڪيو.

ٻين پروگرامنگ ٻولين وانگر، ڊيٽا کي محفوظ ڪري سگھجي ٿو متغير يا مستقل (ٻنهي جو پڻ اڪثر ڊيٽا ڪنٽينر طور حوالو ڏنو ويو آهي). هي انهن تصورن جي وچ ۾ بنيادي فرق آهي. اڳوڻو تبديل ٿي سگھي ٿو ان جي بنياد تي جيڪو پروگرام ۾ ٿئي ٿو. موڙ ۾، مستقل هڪ ڀيرو مقرر ڪيا ويا آهن ۽ انهن جي قيمت تبديل نه ڪندا آهن.

Constants ڪارآمد ٿي سگھي ٿو جيڪڏھن توھان کي ساڳي وڏي قيمت ڪيترائي ڀيرا استعمال ڪرڻ جي ضرورت آھي. نمبر کي نقل ڪرڻ جي بدران، توهان صرف مسلسل جو نالو لکي سگهو ٿا. مثال طور، توهان استعمال ڪري سگهو ٿا مسلسل ”پي“ کي ذخيرو ڪرڻ لاءِ، جيڪو هڪ مستقل قدر آهي. اهو تمام وڏو آهي، ۽ هر وقت ان کي لکڻ يا ان کي ڳولڻ ۽ نقل ڪرڻ ڪافي ڏکيو آهي. ۽ ائين، اهو ڪافي آهي ته ٻه اکرن کي لکڻ لاء، ۽ ماحول خودڪار طريقي سان گهربل نمبر استعمال ڪري ٿو.

ايڪسل استعمال ڪندڙ کي متغيرن جو اعلان ڪرڻ جي ضرورت آهي جيڪڏهن هن کي وقت بوقت انهن ۾ محفوظ ڪيل قدر تبديل ڪرڻ جي ضرورت آهي. مثال طور، توهان sVAT_Rate نالي هڪ متغير مقرر ڪري سگهو ٿا، جيڪو پراڊڪٽ لاءِ موجوده VAT جي شرح کي محفوظ ڪندو. جيڪڏهن اهو تبديل ٿئي ٿو، توهان جلدي ان کي درست ڪري سگهو ٿا. اهو خاص طور تي انهن لاءِ ڪارائتو آهي جيڪي آمريڪا ۾ ڪاروبار ڪن ٿا، جتي ڪجهه شيون شايد VAT جي تابع نه هجن (۽ اهو ٽيڪس پڻ رياست کان رياست ۾ مختلف آهي).

ڊيٽا جا قسم

هر ڊيٽا ڪنٽينر ڪيترن ئي قسمن مان هڪ ٿي سگهي ٿو. ھتي ھڪڙي جدول آھي جيڪا معياري قسم جي پروسيس ٿيل معلومات کي بيان ڪري ٿي. انھن مان گھڻا آھن، ۽ اھو لڳي سگھي ٿو ھڪڙي شروعاتي طور تي شروعاتي طور تي اھي ھڪڙي ٻئي کي ورجائيندا آھن. پر هي هڪ مبهم احساس آهي. سکڻ لاءِ پڙهو ته صحيح ڊيٽا جي قسم جي وضاحت ڪرڻ تمام ضروري آهي.

اهو ڊيٽا جي قسم کي استعمال ڪرڻ جي سفارش نه ڪئي وئي آهي جيڪا ميموري ۾ وڌيڪ جاء وٺي ٿو ننڍن انگن لاء. مثال طور، نمبر 1 لاء، اهو ڪافي آهي استعمال ڪرڻ لاء بائيٽ قسم. اهو عمل ڪندڙ ماڊل جي ڪارڪردگي تي مثبت اثر ٿيندو، خاص طور تي ڪمزور ڪمپيوٽرن تي. پر اهو ضروري آهي ته هتي تمام گهڻو پري نه وڃو. جيڪڏهن توهان ڊيٽا جو قسم استعمال ڪريو ٿا جيڪو تمام گهڻو ٺهيل آهي، هڪ وڏي قيمت ان ۾ مناسب نه ٿي سگھي.

ثابت ۽ متغير جو اعلان

ڊيٽا ڪنٽينر استعمال ڪرڻ کان سواءِ پهرين اعلان ڪرڻ جي سخت حوصلا افزائي ڪئي وڃي ٿي. پوءِ ڪيترائي مسئلا پيدا ٿي سگهن ٿا، جن کان بچڻ لاءِ ضروري آهي ته ڪوڊ جون چند ننڍيون لائينون متغيرن يا مستقلن جي ڳڻپ سان لکڻ گهرجن.

هڪ متغير جو اعلان ڪرڻ لاء، Dim بيان استعمال ڪيو ويندو آهي. مثال طور، هن طرح:

Dim Variable_Name Integer طور

Variable_Name متغير جو نالو آھي. اڳيون، جيئن آپريٽر لکيو ويو آهي، ڊيٽا جي قسم کي ظاهر ڪندي. تارن جي بدران "Variable_Name" ۽ "Integer"، توھان داخل ڪري سگھو ٿا پنھنجو نالو ۽ ڊيٽا جو قسم.

Constants پڻ اعلان ڪري سگھجن ٿا، پر توھان کي پھريون ڀيرو انھن جي قدر بيان ڪرڻ گھرجي. اختيارن مان هڪ آهي:

Const iMaxCount = 5000

انصاف ۾، ڪجهه حالتن ۾ توهان بغير ڪنهن متغير جو اعلان ڪرڻ کان سواء ڪري سگهو ٿا، پر هن صورت ۾ اهي خودڪار طور تي مختلف قسم جو قسم مقرر ڪيو ويندو. تنهن هوندي به، هن هيٺين سببن لاء سفارش نه آهي:

  1. variant تي عمل ڪيو ويندو آهي تمام گهڻو سست، ۽ جيڪڏهن اهڙا ڪيترائي متغير آهن، معلومات جي پروسيسنگ کي ڪمزور ڪمپيوٽرن تي خاص طور تي سست ڪري سگهجي ٿو. لڳي ٿو ته اهي سيڪنڊ فيصلو ڪندا؟ پر جيڪڏهن توهان کي ڪوڊ جون وڏيون لائينون لکڻيون آهن، ۽ پوءِ ان کي ڪمزور ڪمپيوٽرن تي پڻ هلائڻو آهي (جيڪي اڃا تائين وڪرو ٿيل آهن، انهي ڪري ته جديد آفيس سوٽ کي تمام گهڻي رام جي ضرورت آهي)، توهان ڪم کي مڪمل طور تي روڪي سگهو ٿا. اهڙا ڪيس آهن جڏهن ميڪروز جي غلط لکڻين جي نتيجي ۾ سمارٽ بڪ منجمد ٿي ويا آهن جن ۾ ٿوري مقدار ۾ رام آهي ۽ پيچيده ڪم انجام ڏيڻ لاءِ ٺهيل نه آهن. 
  2. نالن ۾ غلط نشانين جي اجازت آهي، جنهن کي استعمال ڪندي روڪي سگهجي ٿو آپشن واضح بيان، جيڪو توهان کي غير اعلانيل متغير ڳولڻ جي اجازت ڏئي ٿو، جيڪڏهن ڪو مليو آهي. هي غلطين کي ڳولڻ جو هڪ آسان طريقو آهي، ڇاڪاڻ ته ٿوري ٽائپو سبب مترجم کي متغير کي سڃاڻڻ جي قابل ناهي. ۽ جيڪڏھن توھان ڦيرائي اعلان ڪرڻ واري موڊ کي ڦيرايو، مترجم صرف توھان کي ميڪرو هلائڻ جي اجازت نه ڏيندو جيڪڏھن ڊيٽا ڪنٽينرز مليا آھن جيڪي ماڊل جي شروعات ۾ اعلان نه ڪيا ويا آھن.
  3. ڊيٽا جي قسم سان ملندڙ متغير قدرن جي ڪري غلطين کان بچاء. عام طور تي، هڪ متن جي قيمت هڪ عدد متغير کي تفويض ڪرڻ هڪ غلطي اڇلائي ويندي. ها، هڪ طرف، هڪ عام قسم کي بغير اعلان جي مقرر ڪيو ويو آهي، پر جيڪڏهن اهي اڳ ۾ اعلان ڪيا وڃن، پوء بي ترتيب واري غلطي کان بچي سگهجي ٿو.

تنهن ڪري، هر شيء جي باوجود، اهو انتهائي سفارش ڪئي وئي آهي ته ايڪسل ميڪروس ۾ سڀني متغيرن جو اعلان ڪريو.

متغير جو اعلان ڪرڻ وقت ذهن ۾ رکڻ لاء هڪ وڌيڪ شيء آهي. اهو ممڪن آهي ته متغير کي ڪنهن به قيمت کي تفويض نه ڪيو وڃي جڏهن ان جو اعلان ڪيو وڃي، پر هن صورت ۾ اهو هڪ ڊفالٽ قدر حاصل ڪري ٿو. مثال طور:

  1. لائينون خالي ڪيون ويون آهن.
  2. انگن کي قيمت 0 تي وٺي ٿو.
  3. Boolean قسم جا متغير شروعاتي طور تي غلط سمجهيا وڃن ٿا.
  4. ڊفالٽ تاريخ ڊسمبر 30، 1899 آهي.

مثال طور، توهان کي قيمت 0 تفويض ڪرڻ جي ضرورت ناهي هڪ انٽيجر متغير کي جيڪڏهن ڪو قدر اڳ ۾ بيان نه ڪيو ويو آهي. هوءَ اڳ ۾ ئي هن نمبر تي مشتمل آهي.

اختيار واضح بيان

هي بيان توهان کي VBA ڪوڊ ۾ استعمال ٿيندڙ سڀني متغيرن جو اعلان ڪرڻ جي اجازت ڏئي ٿو ۽ ڪوڊ هلائڻ کان اڳ ڪنهن به غير اعلانيل ڪنٽينرز جي موجودگي کي طئي ڪرڻ جي اجازت ڏئي ٿو. ھن خصوصيت کي استعمال ڪرڻ لاءِ، صرف ميڪرو ڪوڊ جي بلڪل چوٽي تي اختياري واضح ڪوڊ جي ھڪڙي لائن لکو.

جيڪڏھن توھان کي ضرورت آھي ھن بيان کي پنھنجي ڪوڊ ۾ ھر وقت شامل ڪريو، توھان ائين ڪري سگھو ٿا خاص سيٽنگ استعمال ڪندي VBA ايڊيٽر ۾. ھن اختيار کي فعال ڪرڻ لاء، توھان کي لازمي آھي:

  1. رستي ۾ ترقي واري ماحول ڏانھن وڃو - اوزار> اختيار.
  2. ان کان پوءِ کليل ونڊو ۾، ايڊيٽر ٽيب کوليو.
  3. ۽ نيٺ، چيڪ ڪريو دٻي جي اڳيان دٻي کي چيڪ ڪريو Require Variable Declaration آئٽم.

انهن قدمن جي مڪمل ٿيڻ تي، "OK" بٽڻ تي ڪلڪ ڪريو. 

اهو ئي آهي، هاڻي جڏهن هر نئين ميڪرو کي لکندو، هي لڪير خودڪار طريقي سان ڪوڊ جي چوٽي تي داخل ڪيو ويندو.

مستقل ۽ متغير جو دائرو

هر متغير يا مستقل جو صرف هڪ محدود دائرو آهي. اهو منحصر آهي جتي توهان ان جو اعلان ڪيو.

فرض ڪريو اسان وٽ هڪ فنڪشن آهي ڪل_ لاڳت()، ۽ اهو variable استعمال ڪري ٿو sVAT_Rate. ماڊل ۾ پوزيشن تي مدار رکندي، ان جو دائرو مختلف هوندو:

اختيار واضح

ڊم sVAT_Rate as Single

فنڪشن Total_Cost() ٻيڻو

.

.

.

آخر فنڪشن

جيڪڏهن هڪ متغير پاڻ کي ماڊل جي چوٽي تي قرار ڏنو ويو آهي، اهو سڄي ماڊل تي پروپيگنڊا ڪندو آهي. اهو آهي، اهو هر طريقي سان پڙهي سگهجي ٿو.

ان کان علاوه، جيڪڏهن طريقيڪار مان هڪ متغير جي قيمت کي تبديل ڪيو، ته پوء ايندڙ هڪ پڻ هن صحيح قيمت کي پڙهي سگهندو. پر ٻين ماڊلز ۾ هي متغير اڃا به پڙهي نه سگهندو.

اختيار واضح

فنڪشن Total_Cost() ٻيڻو

ڊم sVAT_Rate as Single

   .

   .

   .

آخر فنڪشن

انهي صورت ۾، متغير کي پروسيس جي اندر قرار ڏنو ويو آهي، ۽ مترجم هڪ غلطي اڇلائي ڇڏيندو جيڪڏهن اهو ڪنهن ٻئي طريقي سان استعمال ڪيو وڃي.

جيڪڏھن توھان چاھيو ٿا ته متغير ٻين ماڊيولن ذريعي پڙھي، توھان کي استعمال ڪرڻ گھرجي عوامي لفظ بدران ڊِم لفظ جي. اهڙي طرح، توهان هڪ متغير جي دائري کي صرف موجوده ماڊل تائين محدود ڪري سگهو ٿا Public Statement استعمال ڪندي، جيڪو لفظ Dim جي بدران لکيو ويو آهي.

توهان هڪجهڙائي جي دائري کي سيٽ ڪري سگهو ٿا، پر هتي لفظ کي Const آپريٽر سان گڏ لکيو ويو آهي.

هتي هڪ ٽيبل آهي هڪ سٺي مثال سان اهو ڪيئن ڪم ڪندو آهي مستقل ۽ متغير سان.

اختيار واضح

عوامي sVAT_Rate As Single

عوامي Const iMax_Count = 5000

هن مثال ۾، توهان ڏسي سگهو ٿا ته عوامي لفظ ڪيئن استعمال ڪيو ويندو آهي هڪ متغير جو اعلان ڪرڻ لاء، ۽ توهان کي ڇا لکڻ جي ضرورت آهي Visual Basic ايڊيٽر ۾ هڪ عوامي مسلسل اعلان ڪرڻ لاء. انهن قدر ڪنٽينرز جو دائرو سڀني ماڊلز تي لاڳو ٿئي ٿو.
اختيار واضح

پرائيويٽ sVAT_Rate As Single

پرائيويٽ Const iMax_Count = 5000

هتي، variables ۽ constants جو اعلان ڪيو ويو آهي پرائيويٽ لفظ استعمال ڪندي. هن جو مطلب آهي ته اهي صرف موجوده ماڊل اندر ڏسي سگهجن ٿا، ۽ ٻين ماڊلز ۾ طريقا انهن کي استعمال نٿا ڪري سگهن.

مسلسل ۽ متغيرن جي ضرورت ڇو آهي

مستقل ۽ متغير جو استعمال توهان کي ڪوڊ جي سمجھڻ جي درجي کي وڌائڻ جي اجازت ڏئي ٿو. ۽ جيڪڏهن عام طور تي شروعات ڪندڙن وٽ اهو سوال ناهي ته متغيرن جي ضرورت ڇو آهي، ته پوءِ مستقل جي ضرورت بابت ڪيترائي ابهام آهن. ۽ هي سوال لڳي ٿو، پهرين نظر ۾، ڪافي منطقي. آخرڪار، توهان هڪ ڀيرو هڪ متغير جو اعلان ڪري سگهو ٿا ۽ ڪڏهن به ان کي ٻيهر تبديل نه ڪريو.

جواب اهو نڪتو آهي ته ساڳي جهاز ۾ ڪٿي آهي ڊيٽا جي قسمن جي استعمال جي حوالي سان جيڪو ميموري ۾ وڏي جاء تي قبضو ڪري ٿو. جيڪڏهن اسان وڏي تعداد ۾ متغيرن سان ڪم ڪري رهيا آهيون، اسان غلط طور تي موجوده ڪنٽينر کي تبديل ڪري سگهون ٿا. جيڪڏهن صارف بيان ڪري ٿو ته هڪ خاص قدر ڪڏهن به تبديل نه ٿيندي، پوء ماحول خودڪار طريقي سان ڪنٽرول ڪندو.

اهو خاص طور تي اهم آهي جڏهن ميڪرو ڪيترن ئي پروگرامرن طرفان لکيل آهي. هڪ ٿي سگهي ٿو ڄاڻن ته ڪي متغير تبديل نه ٿيڻ گهرجي. ۽ ٻيو نه آهي. جيڪڏهن توهان وضاحت ڪريو Const آپريٽر، ٻئي ڊولپر کي خبر پوندي ته هي قدر تبديل نٿو ٿئي.

يا، جيڪڏهن هڪ نالي سان هڪ مستقل آهي، ۽ متغير هڪ مختلف آهي، پر ساڳيو نالو. ڊولپر صرف انهن کي پريشان ڪري سگهي ٿو. مثال طور، ھڪڙو متغير جنھن کي تبديل ڪرڻ جي ضرورت ناھي ان کي Variable11 چئبو آھي، ۽ ٻيو جنھن کي تبديل ڪري سگھجي ٿو، ان کي Variable1 چئبو آھي. هڪ شخص خودڪار طريقي سان ڪري سگهي ٿو، جڏهن ڪوڊ لکڻ، اتفاقي طور تي هڪ اضافي يونٽ کي ڇڏي ڏيو ۽ ان کي نوٽيس نه ڪيو. نتيجي طور، قدرن لاءِ ڪنٽينر تبديل ٿي ويندو، جنھن کي ڇھڻ نه گھرجي.

يا ڊولپر پاڻ وساري سگھي ٿو ته ڪھڙن متغيرن کي ھٿ ڪري سگھي ٿو ۽ ڪھڙو نه ٿو ڪري سگھي. اهو اڪثر ڪري ٿو جڏهن ڪوڊ ڪيترن ئي هفتن تائين لکيو ويو آهي، ۽ ان جي سائيز وڏي ٿي ويندي آهي. هن عرصي دوران، اهو وسارڻ بلڪل آسان آهي ته هي يا اهو متغير جو مطلب ڇا آهي.

ها، توهان هن صورتحال ۾ تبصرن سان ڪري سگهو ٿا، پر ڇا اهو آسان ناهي لفظ Const بيان ڪرڻ؟

conclusions

متغير ميڪرو پروگرامنگ جو هڪ لازمي حصو آهن، جيڪي توهان کي پيچيده عملن کي انجام ڏيڻ جي اجازت ڏين ٿا، حسابن کان وٺي صارف کي ڪجهه واقعن بابت ڄاڻ ڏيڻ يا اسپريڊ شيٽ جي سيلز ۾ مخصوص قدرن کي بيان ڪرڻ تائين.

Constants استعمال ٿيڻ گھرجي جيڪڏھن ڊولپر کي پڪ آھي ته انھن ڪنٽينرز جو مواد مستقبل ۾ تبديل نه ٿيندو. ان جي بدران متغير استعمال ڪرڻ جي سفارش نه ڪئي وئي آهي، ڇاڪاڻ ته اهو ممڪن آهي ته غلطي سان غلطي ڪرڻ.

جواب ڇڏي وڃو