VBA ۾ متغير ۽ مستقل

VBA ۾، جيئن ڪنهن ٻئي پروگرامنگ ٻولي ۾، متغير ۽ مستقل استعمال ڪيا ويندا آهن ڪنهن به قدر کي ذخيرو ڪرڻ لاءِ. جيئن ته نالي جو مطلب آهي، متغير تبديل ٿي سگهن ٿا، جڏهن ته مسلسل مقرر ڪيل قدرن کي محفوظ ڪن ٿا.

مثال طور، هڪ مستقل Pi قيمت 3,14159265 اسٽور ڪري ٿو… پروگرام جي عمل دوران ”پي“ نمبر تبديل نه ٿيندو، پر اهڙي قدر کي مسلسل رکڻ لاءِ اڃا به وڌيڪ آسان آهي.

ساڳئي وقت، اسان استعمال ڪري سگهون ٿا متغير sVAT_Rate خريد ڪيل سامان تي VAT جي شرح کي ذخيرو ڪرڻ لاء. متغير قدر sVAT_Rate خريد ڪيل پراڊڪٽ جي لحاظ کان مختلف ٿي سگھي ٿو.

ڊيٽا جا قسم

سڀ variables ۽ constants هڪ خاص ڊيٽا جي قسم جا آهن. هيٺ ڏنل جدول VBA ۾ استعمال ٿيل ڊيٽا جي قسمن کي بيان ڪري ٿو ۽ ممڪن قدرن جي حد سان.

ڊيٽا جو قسم ڪرائون سائيز واريوضاحتقدرن جي حد
بيٽ1 بائٽمثبت عدد؛ اڪثر بائنري ڊيٽا لاءِ استعمال ٿيندو آهي0 کان 255 لاء
ٻيلو2 بائٽٿي سگهي ٿو صحيح يا غلطسچ يا ڪوڙ
انٽيجر2 بائٽمڪمل نمبر (ڪو به جزوي حصو نه آهي)-32 کان +768 تائين
وڏا4 بائٽوڏو عدد (ڪو به جزوي حصو نه آهي)от -2 147 483 648 до +2 147 483 647
واحد4 بائٽسنگل سڌائي سچل پوائنٽ نمبر-3.4e38 کان +3.4e38 تائين
ٻٽا8 بائٽٻيڻو درست سچل پوائنٽ نمبر-1.8e308 کان +1.8e308 تائين
ڪرنسي8 بائٽفلوٽنگ پوائنٽ نمبر، ڊيسيمل هنڌن جي مقرر ڪيل تعداد سانот -922 337 203 685 477.5808 до +922 337 203 685 477.5807
تاريخ8 بائٽتاريخ ۽ وقت - ڊيٽا جي قسم جي تاريخ هڪ سچل پوائنٽ نمبر جي نمائندگي ڪئي وئي آهي. ھن نمبر جو پورو حصو تاريخ کي بيان ڪري ٿو، ۽ جزوي حصو وقت کي بيان ڪري ٿو.جنوري 1، 100 کان ڊسمبر 31، 9999 تائين
اعتراض4 بائٽاعتراض جو حوالوڪنهن به اعتراض جو حوالو
اسٽرنگتبديل ٿي رهيو آهيڪردار سيٽ. اسٽرنگ جو قسم مقرر يا متغير ڊگھائي ٿي سگھي ٿو. وڌيڪ عام طور تي استعمال ڪيو ويو متغير ڊگھائي سانمقرر ٿيل ڊيگهه - تقريبن 65 اکرن تائين. متغير ڊگھائي - تقريبن 500 بلين اکرن تائين
Variantتبديل ٿي رهيو آهيٿي سگھي ٿو ھڪڙي تاريخ، ھڪڙو فلوٽ، يا ھڪڙي ڪردار جي تار. هي قسم ڪيسن ۾ استعمال ڪيو ويندو آهي جتي اهو اڳ ۾ نه ڄاڻيو آهي ته ڪهڙي قسم جي ڊيٽا داخل ڪئي ويندي.نمبر- ٻٽي، تار- اسٽرنگ

ظاهر آهي، مٿي ڏنل جدول کي استعمال ڪندي ۽ صحيح ڊيٽا جي قسم کي چونڊڻ سان، توهان ميموري کي وڌيڪ اقتصادي طور استعمال ڪري سگهو ٿا (مثال طور، ڊيٽا جو قسم چونڊيو انٽيجر بدران وڏا or واحد بدران ٻٽا). تنهن هوندي، جڏهن وڌيڪ ڪمپيڪٽ ڊيٽا جي قسمن کي استعمال ڪندي، توهان کي محتاط رکڻ جي ضرورت آهي ته توهان جو ڪوڊ انهن ۾ غير متناسب وڏي قدرن کي فٽ ڪرڻ جي ڪوشش نه ڪري.

متغير ۽ مستقل بيان ڪرڻ

مترجم جو نوٽ: VBA ۾ variables جي باري ۾ ڳالهائيندي، ان کي هڪ وڌيڪ اهم نقطو ذڪر ڪرڻ جي قابل آهي. جيڪڏهن اسان هڪ متغير جو اعلان ڪريون ٿا پر ان کي ڪا به قيمت نه ڏيو، پوء اهو هڪ ڊفالٽ قيمت سان شروع ڪيو ويندو:

• ٽيڪسٽ اسٽرنگ کي خالي اسٽرنگ سان شروع ڪيو ويو آهي.

نمبر - قدر 0؛

• قسم متغير ٻيلو - ڪوڙو؛

• تاريخون - ڊسمبر 30، 1899.

ان کان اڳ هڪ متغير يا مسلسل استعمال ڪري سگهجي ٿو، ان کي اعلان ڪيو وڃي. ھن کي ڪرڻ لاءِ، ھيٺ ڏنل سادي لائن ڪوڊ شامل ڪريو ميڪرو ڏانھن:

Dim Имя_Переменной As Тип_Данных

ڪوڊ جي مٿين لائن ۾ ڪيفيت_ نالا متغير جو نالو آهي جيڪو ڪوڊ ۾ استعمال ڪيو ويندو، ۽ ڊيٽا_قسم هن آرٽيڪل ۾ ٿورو اڳ ڏنل جدول مان ڊيٽا جي قسمن مان هڪ آهي. مثال طور:

Dim sVAT_Rate as Single Dim i as Integer

Constants ساڳيءَ طرح بيان ڪيا ويندا آهن، پر جڏهن ثابتين جو اعلان ڪيو وڃي، انهن جي قيمت کي فوري طور تي ظاهر ڪيو وڃي. مثال طور، هن طرح:

Const iMaxCount = 5000 Const iMaxScore = 100

اهو ضروري ناهي ته ايڪسل ۾ متغير جو اعلان ڪيو وڃي. ڊفالٽ طور، Excel ۾ سڀ داخل ٿيل پر اعلان ٿيل متغيرن جو قسم هوندو Variant ۽ عددي ۽ متن جي قيمت ٻنهي کي قبول ڪرڻ جي قابل هوندو.

اهڙيء طرح، پروگرامر ڪنهن به وقت نئين متغير استعمال ڪري سگهي ٿو (جيتوڻيڪ اهو اعلان نه ڪيو ويو آهي)، ۽ ايڪسل ان کي قسم جي متغير جي طور تي علاج ڪندو. Variant. بهرحال، اهڙا ڪيترائي سبب آهن ڇو ته اهو نه ڪيو وڃي:

  1. ميموري استعمال ۽ ڪمپيوٽر جي رفتار. جيڪڏهن توهان ڊيٽا جي قسم جي اشاري سان هڪ متغير جو اعلان نه ڪيو، ته پوءِ ڊفالٽ طور اهو قسم تي سيٽ ڪيو ويندو Variant. هي ڊيٽا جو قسم ٻين ڊيٽا جي قسمن کان وڌيڪ ميموري استعمال ڪري ٿو. ڪجھ اضافي بائيٽ في متغير شايد تمام گهڻو آواز نه هجن، پر عملي طور تي، پروگرامن ۾ هزارين متغير ٿي سگهن ٿا (خاص طور تي جڏهن arrays سان ڪم ڪري رهيا آهن). تنهن ڪري، متغير طرفان استعمال ڪيل اضافي ميموري وانگر Variant، قسم جي متغيرن جي مقابلي ۾ انٽيجر or واحد، هڪ اهم رقم تائين شامل ڪري سگھي ٿو. ان کان سواء، قسم جي variables سان آپريشن Variant ٻين قسمن جي متغيرن جي ڀيٽ ۾ وڌيڪ سست رفتاري سان عمل ڪيو وڃي ٿو، ترتيب سان، قسم جا هڪ اضافي هزار متغير Variant خاص طور تي حسابن کي سست ڪري سگھي ٿو.
  2. متغير نالن ۾ ٽائپس جي روڪٿام. جيڪڏهن سڀئي متغير اعلان ڪيا وڃن، پوء VBA بيان استعمال ڪري سگهجي ٿو - اختيار واضح (اسان ان بابت بعد ۾ ڳالهائينداسين) سڀني غير اعلانيل متغيرن کي سڃاڻڻ لاءِ. هي پروگرام ۾ هڪ غلطي جي ظاهر کي ختم ڪري ٿو جيڪو غلط طور تي لکيل متغير نالي جي نتيجي ۾. مثال طور، هڪ متغير استعمال ڪندي نالو sVAT_Rate، توهان هڪ ٽائپو ڪري سگهو ٿا ۽، هن متغير کي هڪ قدر تفويض ڪندي، لکو: “VATRate = 0,175”. اهو توقع آهي ته هاڻي کان، variable sVAT_Rate قيمت 0,175 تي مشتمل هجڻ گهرجي - پر يقينا اهو ناهي. جيڪڏهن سڀني استعمال ٿيل متغيرن جي لازمي اعلان جي موڊ کي فعال ڪيو ويو آهي، ته پوء VBA مرتب ڪندڙ فوري طور تي هڪ غلطي ظاهر ڪندو، ڇاڪاڻ ته اهو متغير نه ڳولي سگهندو. VATRate انهن مان اعلان ڪيو ويو آهي.
  3. نمايان قدر جيڪي متغير جي اعلان ڪيل قسم سان نه ملن. جيڪڏهن توهان هڪ مخصوص قسم جي هڪ متغير جو اعلان ڪيو ۽ ان کي مختلف قسم جي ڊيٽا تفويض ڪرڻ جي ڪوشش ڪندا، توهان کي هڪ غلطي ملندي، جيڪا، جيڪڏهن صحيح نه ڇڏي، ته پروگرام حادثي جو سبب بڻجي سگهي ٿي. پهرين نظر ۾، اهو لڳي سگهي ٿو هڪ سٺو سبب متغيرن جو اعلان نه ڪرڻ جو، پر حقيقت ۾، ان کان اڳ جو اهو ظاهر ٿئي ٿو ته متغيرن مان هڪ غلط ڊيٽا حاصل ڪئي جيڪا ان کي حاصل ڪرڻي هئي - تمام گهڻو بهتر! ٻي صورت ۾، جيڪڏهن پروگرام هلائڻ جاري رهي، نتيجا غلط ۽ اڻڄاتل ٿي سگهن ٿا، ۽ غلطين جو سبب ڳولڻ ڏاڍو ڏکيو ٿيندو. اهو پڻ ممڪن آهي ته ميڪرو "ڪاميابي سان" عمل ڪيو ويندو. نتيجي طور، غلطي اڻڄاتل ٿي ويندي ۽ ڪم غلط ڊيٽا سان جاري رهندو!

انهي سلسلي ۾، اهو ضروري آهي ته غلط ڊيٽا جي قسم کي ڳولڻ ۽ ڪوڊ ۾ اهڙين غلطين کي جلد ممڪن طور تي درست ڪريو. انهن سببن لاء، اها سفارش ڪئي وئي آهي ته توهان VBA ميڪرو لکڻ دوران سڀني متغيرن جو اعلان ڪريو.

اختيار واضح

آپريٽر اختيار واضح سڀني متغيرن جو سبب بنائي ٿو جيڪي VBA ڪوڊ ۾ استعمال ڪيا ويندا اعلان ڪيا ويندا، ۽ سڀني غير اعلانيل متغيرن کي تاليف جي دوران غلطين جي طور تي جھنڊو ڏئي ٿو (ڪوڊ تي عمل شروع ٿيڻ کان اڳ). هن آپريٽر کي لاڳو ڪرڻ ڏکيو نه آهي - صرف VBA فائل جي بلڪل چوٽي تي هي لائن لکو:

Option Explicit

جيڪڏهن توهان هميشه داخل ڪرڻ چاهيو ٿا اختيار واضح هر نئين VBA ماڊل جي چوٽي تي ٺاهي وئي، اهو خودڪار ٿي سگهي ٿو. هن کي ڪرڻ لاء، توهان کي اختيار کي فعال ڪرڻ جي ضرورت آهي متغير اعلان جي ضرورت آهي VBA ايڊيٽر سيٽنگون ۾.

اھو ھن طرح ڪيو ويو آھي:

  • Visual Basic Editor مينيو مان، ڪلڪ ڪريو اوزار > اختيار
  • ڊڪشنري ۾ جيڪو ظاهر ٿئي ٿو، ٽيب کوليو ايڊيٽر
  • باڪس چيڪ ڪريو متغير اعلان جي ضرورت آهي ۽ پريس ڪريو OK

جڏهن فعال ٿيو، تار اختيار واضح ٺاهي ويندي هر نئين ماڊل جي شروعات ۾ خودڪار طور تي داخل ڪيو ويندو.

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

هر اعلانيل متغير يا مستقل جو پنهنجو محدود دائرو آهي، يعني پروگرام جو هڪ محدود حصو جنهن ۾ هي متغير موجود آهي. دائري تي منحصر آهي جتي متغير يا مسلسل جو اعلان ڪيو ويو هو. وٺو، مثال طور، متغير sVAT_Rate، جيڪو فنڪشن ۾ استعمال ٿيندو آهي ڪل_ قيمت. هيٺ ڏنل جدول متغير اسڪوپنگ لاءِ ٻن اختيارن تي بحث ڪري ٿو sVAT_Rateماڊل ۾ ٻن مختلف پوزيشن ۾ اعلان ڪيو ويو:

اختيار واضح Dim sVAT_Rate As Single Function Total_Cost() As Double... End Function
جيڪڏهن متغير sVAT_Rate ماڊل جي شروعات ۾ اعلان ڪيو ويو آهي، پوء هن متغير جو دائرو سڄو ماڊل هوندو (يعني متغير sVAT_Rate هن ماڊيول ۾ سڀني طريقن سان تسليم ڪيو ويندو).

تنهن ڪري، جيڪڏهن فنڪشن ۾ ڪل_ قيمت ڪشش sVAT_Rate ڪجھ قدر مقرر ڪيو ويندو، پوء ساڳئي ماڊل اندر ايندڙ فنڪشن تي عمل ڪيو ويندو متغير استعمال ڪندو sVAT_Rate ساڳي معنيٰ سان.

بهرحال، جيڪڏهن ڪنهن ٻئي ماڊل ۾ موجود فنڪشن کي سڏيو ويندو آهي، پوء ان لاء متغير sVAT_Rate معلوم نه ٿيندو.

آپشن واضح فنڪشن Total_Cost() As Double Dim sVAT_Rate As Single... End Function
جيڪڏهن متغير sVAT_Rate فنڪشن جي شروعات ۾ اعلان ڪيو ويو ڪل_ قيمت، پوء ان جو دائرو صرف هن فنڪشن تائين محدود هوندو (يعني فنڪشن جي اندر ڪل_ قيمت، توهان variable استعمال ڪري سگهو ٿا sVAT_Rate، پر ٻاهر نه).

جڏهن استعمال ڪرڻ جي ڪوشش ڪئي sVAT_Rate ٻئي طريقي ۾، VBA گڏ ڪندڙ هڪ غلطي جي رپورٽ ڪندو ڇو ته هي متغير فنڪشن کان ٻاهر اعلان نه ڪيو ويو آهي ڪل_ قيمت (بشرطور ته آپريٽر استعمال ڪيو ويو آهي اختيار واضح).

مٿي ڏيکاريل مثال ۾، متغير کي لفظ سان ماڊل سطح تي اعلان ڪيو ويو آهي ڊم. بهرحال، اهو ضروري ٿي سگهي ٿو ته اعلان ڪيل متغير ٻين ماڊلز ۾ استعمال ڪري سگھجن ٿيون. اهڙين حالتن ۾، هڪ لفظ جي بدران هڪ متغير جو اعلان ڪرڻ لاء ڊم لفظ استعمال ڪرڻ گهرجي پبلڪ.

رستي جي ذريعي، ماڊل سطح تي متغير جو اعلان ڪرڻ لاء، لفظ جي بدران ڊم لفظ استعمال ڪري سگھجي ٿو پرائيويٽ، جنهن مان ظاهر ٿئي ٿو ته هي متغير صرف موجوده ماڊل ۾ استعمال لاءِ آهي.

توھان پڻ استعمال ڪري سگھوٿا ڪي لفظ ثابت ڪرڻ لاءِ. پبلڪ и پرائيويٽ، پر لفظ جي بدران نه مسلسل، ان سان گڏ.

هيٺ ڏنل مثال ڏيکارين ٿا لفظن جو استعمال پبلڪ и پرائيويٽ variables ۽ constants تي لاڳو.

آپشن پڌرو پبلڪ sVAT_Rate As Single Public Const iMax_Count = 5000 ...    
هن مثال ۾، لفظ پبلڪ هڪ variable جو اعلان ڪرڻ لاء استعمال ڪيو sVAT_Rate ۽ مستقل iMax_Count. هن طريقي سان اعلان ڪيل عناصر جو دائرو سڄي موجوده پروجيڪٽ هوندو.

هن جو مطلب آهي sVAT_Rate и iMax_Count ڪنهن به پروجيڪٽ ماڊل ۾ موجود هوندي.

اختيار واضح پرائيويٽ sVAT_Rate As Single Private Const iMax_Count = 5000 ...    
هن مثال ۾، هڪ متغير جو اعلان ڪرڻ لاء sVAT_Rate ۽ مستقل iMax_Count استعمال ٿيل لفظ پرائيويٽ. انهن عناصر جو دائرو موجوده ماڊل آهي.

هن جو مطلب آهي sVAT_Rate и iMax_Count موجوده ماڊل جي سڀني طريقيڪار ۾ دستياب هوندي، پر ٻين ماڊلز ۾ طريقيڪار لاء دستياب نه هوندي.

جواب ڇڏي وڃو