په ایکسل میکرو کې د متغیرونو او مستقلاتو پوهیدل

په دې مقاله کې، تاسو به زده کړئ چې په میکرو کې کوم ثابت او متغیرات دي، چیرته چې دوی کارول کیدی شي، او د مختلفو ډیټا ډولونو ترمنځ اصلي توپیر څه دی. دا به هم څرګنده شي چې ولې ثابتو ته اړتیا ده، که تاسو یوازې یو متغیر ولیکئ او هیڅکله یې بدل نه کړئ.

د نورو پروګرامینګ ژبو په څیر، ډاټا په متغیرونو یا ثابتو کې زیرمه کیدی شي (دواړه چې ډیری وختونه د ډیټا کانټینرونو په توګه هم ویل کیږي). دا د دې مفکورو ترمنځ اصلي توپیر دی. پخوانی ممکن د دې پورې اړه ولري چې په برنامه کې څه پیښیږي. په بدل کې، ثبات یو ځل ټاکل کیږي او خپل ارزښت نه بدلوي.

ثابتونه ګټور کیدی شي که تاسو ورته لوی ارزښت څو ځله کارولو ته اړتیا لرئ. د شمیرې کاپي کولو پرځای، تاسو کولی شئ په ساده ډول د ثابت نوم ولیکئ. د مثال په توګه، تاسو کولی شئ د Pi ذخیره کولو لپاره ثابت "Pi" وکاروئ، کوم چې ثابت ارزښت دی. دا خورا لوی دی، او هر ځل دا خورا ستونزمن کار دی چې دا ولیکئ یا یې وپلټئ او کاپي یې کړئ. او په دې توګه، دا د دوو حروف لیکلو لپاره کافي دي، او چاپیریال په اتوماتيک ډول مطلوب شمیره کاروي.

د ایکسل کارونکي اړتیا لري چې متغیرات اعلان کړي که چیرې هغه وخت په وخت په دوی کې زیرمه شوي ارزښت بدلولو ته اړتیا ولري. د مثال په توګه، تاسو کولی شئ د sVAT_Rate په نوم یو متغیر تنظیم کړئ، کوم چې به د محصول لپاره اوسنی VAT نرخ ذخیره کړي. که دا بدلون ومومي، تاسو کولی شئ ژر تر ژره سم کړئ. دا په ځانګړې توګه د هغو کسانو لپاره ګټور دی چې په متحده ایالاتو کې سوداګري کوي، چیرې چې ځینې توکي ممکن د VAT تابع نه وي (او دا مالیه هم د دولت څخه بل دولت سره توپیر لري).

د معلوماتو ډولونه

هر ډیټا کانټینر کولی شي یو له څو ډولونو څخه وي. دلته یو جدول دی چې د پروسس شوي معلوماتو معیاري ډولونه بیانوي. ډیری یې شتون لري، او دا ممکن په پیل کې پیل کونکي ته ښکاري چې دوی یو بل تکراروي. مګر دا یو خیالي احساس دی. د دې زده کولو لپاره ولولئ چې ولې د سم ډیټا ډول مشخص کول خورا مهم دي.

دا سپارښتنه نه کیږي چې د ډیټا ډول وکاروئ چې د کوچنیو شمیرو لپاره په حافظه کې ډیر ځای ونیسي. د مثال په توګه، د نمبر 1 لپاره، دا د بایټ ډول کارولو لپاره کافي دی. دا به د اجرا وړ ماډل په فعالیت مثبت اغیزه ولري، په ځانګړې توګه په کمزورو کمپیوټرونو کې. مګر دا مهمه ده چې دلته ډیر لرې لاړ نشي. که تاسو د ډیټا ډول کاروئ چې خورا کمپیکٹ وي ، نو یو لوی ارزښت ممکن پدې کې مناسب نه وي.

د ثابتو او متغیرونو اعلان کول

د معلوماتو کانټینر کارول پرته له دې چې لومړی یې اعلان کړي په کلکه هڅول کیږي. بیا یو شمیر ستونزې رامینځته کیدی شي چې د مخنیوي لپاره دا اړینه ده چې د متغیرونو یا ثابتو شمیرو سره د کوډ څو کوچنۍ کرښې ولیکئ.

د متغیر اعلانولو لپاره، د ډیم بیان کارول کیږي. د مثال په توګه، دا ډول:

Dim Variable_Name د عدد په توګه

Variable_Name د متغیر نوم دی. بیا ، د آپریټر په توګه لیکل شوی ، د ډیټا ډول په ګوته کوي. د "Variable_Name" او "Integer" تارونو پرځای، تاسو کولی شئ خپل نوم او د معلوماتو ډول داخل کړئ.

ثابت هم اعلان کیدی شي، مګر تاسو باید لومړی د دوی ارزښت مشخص کړئ. یو له اختیارونو څخه دا دی:

Const iMaxCount = 5000

په عادلانه توګه، په ځینو مواردو کې تاسو کولی شئ د متغیر اعلان کولو پرته ترسره کړئ، مګر پدې حالت کې به دوی په اتوماتيک ډول د ډول ډول ډول وټاکل شي. په هرصورت، دا د لاندې دلیلونو لپاره سپارښتنه نه کیږي:

  1. تغیرات ډیر ورو پروسس کیږي ، او که چیرې ډیری داسې تغیرات شتون ولري ، د معلوماتو پروسس کول په ضعیف کمپیوټرونو کې د پام وړ ورو کیدی شي. داسې ښکاري چې دا ثانیې به پریکړه وکړي؟ مګر که تاسو د کوډ لوی شمیر لیکې ولیکئ ، او بیا یې په ضعیف کمپیوټرونو کې هم پرمخ وړئ (کوم چې لاهم پلورل کیږي ، په پام کې نیولو سره چې د عصري دفتر سویټونه ډیری رام ته اړتیا لري) ، تاسو کولی شئ کار په بشپړ ډول ودروئ. داسې قضیې شتون لري کله چې د میکرو ناسمه لیکنه د سمارټ بوکونو کنګل کیدو لامل شوې چې لږ مقدار RAM لري او د پیچلو کارونو ترسره کولو لپاره ډیزاین شوي ندي. 
  2. په نومونو کې غلطې نښې اجازه لري ، کوم چې د اختیار څرګند بیان په کارولو سره مخنیوی کیدی شي ، کوم چې تاسو ته اجازه درکوي یو غیر اعلان شوی متغیر ومومئ ، که چیرې یو وموندل شي. دا د تېروتنې د موندلو لپاره یوه اسانه لار ده، ځکه چې لږ څه ټایپ د ژباړونکي د متغیر پیژندلو توان نلري. او که تاسو د متغیر اعلامیې حالت فعال کړئ، ژباړونکی به تاسو ته اجازه ورنکړي چې میکرو پرمخ بوځي که چیرې د ډیټا کانټینرونه وموندل شي چې د ماډل په پیل کې ندي اعلان شوي.
  3. د متغیر ارزښتونو له امله رامینځته شوي غلطیو څخه مخنیوی وکړئ چې د ډیټا ډول سره سمون نلري. په عموم ډول، د عدد متغیر ته د متن ارزښت ټاکل به یوه تېروتنه وکړي. هو، له یوې خوا، یو عمومي ډول د اعالمیې پرته ګمارل شوی، مګر که دوی مخکې اعلان شي، نو د تصادفي غلطیو مخنیوی کیدی شي.

له همدې امله ، د هرڅه سربیره ، دا خورا سپارښتنه کیږي چې په Excel میکرو کې ټول متغیرونه اعلان کړئ.

د متغیراتو اعلانولو په وخت کې په ذهن کې ساتلو لپاره یو بل شی شتون لري. دا ممکنه ده چې متغیر ته کوم ارزښت ونه ټاکل شي کله چې دا اعلان کړي، مګر پدې حالت کې دا یو ډیفالټ ارزښت ترلاسه کوي. د مثال په توګه:

  1. لینونه خالي شوي دي.
  2. شمیرې د 0 ارزښت لري.
  3. د بولین ډوله تغیرات په پیل کې غلط ګڼل کیږي.
  4. اصلي نیټه د دسمبر 30، 1899 ده.

د مثال په توګه، تاسو اړتیا نلرئ چې 0 ارزښت د انټیجر متغیر ته وټاکئ که چیرې کوم ارزښت مخکې نه وي مشخص شوی. هغه لا دمخه دا شمیره لري.

اختیار څرګند بیان

دا بیان تاسو ته اجازه درکوي ټول هغه متغیرات اعلان کړئ چې د VBA کوډ کې کارول کیږي او د کوډ چلولو دمخه د کوم نا اعلان شوي کانټینر شتون وټاکئ. د دې خصوصیت کارولو لپاره ، په ساده ډول د میکرو کوډ په سر کې د اختیار څرګند کوډ یوه کرښه ولیکئ.

که تاسو اړتیا لرئ دا بیان هر ځل په خپل کوډ کې شامل کړئ، تاسو کولی شئ دا د VBA مدیر کې د ځانګړي ترتیب په کارولو سره ترسره کړئ. د دې اختیار د فعالولو لپاره، تاسو باید:

  1. د لارې په اوږدو کې د پراختیا چاپیریال ته لاړ شئ - وسیلې> اختیارونه.
  2. په هغه کړکۍ کې چې له دې وروسته خلاصیږي ، د مدیر ټب خلاص کړئ.
  3. او په نهایت کې ، د اړتیا متغیر اعلامیې توکي ته نږدې بکس چیک کړئ.

د دې ګامونو په بشپړولو سره، د "OK" تڼۍ کلیک وکړئ. 

دا دی، اوس کله چې هر نوی میکرو لیکل کیږي، دا کرښه به په اتوماتيک ډول د کوډ په سر کې داخل شي.

د ثابتو او متغیرونو ساحه

هر متغیر یا ثابت یوازې یو محدود ساحه لري. دا پورې اړه لري چې تاسو یې چیرته اعلان کوئ.

فرض کړئ چې موږ یو فعالیت لرو ټول_لګښت()، او دا متغیر کاروي sVAT_Rate. په ماډل کې موقعیت پورې اړه لري، دا به یو مختلف ساحه ولري:

اختیار څرګند

د واحد په توګه sVAT_Rate کم کړئ

فنکشن Total_Cost() دوه چنده

.

.

.

د پای پایښت

که یو متغیر پخپله د ماډل په سر کې اعلان شي، دا په ټول ماډل کې خپریږي. دا د هرې پروسې لخوا لوستل کیدی شي.

سربیره پردې ، که چیرې یوه کړنلاره د متغیر ارزښت بدل کړي ، نو بل به دا سم شوی ارزښت هم ولولي. مګر په نورو ماډلونو کې دا متغیر به لاهم لوستل نشي.

اختیار څرګند

فنکشن Total_Cost() دوه چنده

د واحد په توګه sVAT_Rate کم کړئ

   .

   .

   .

د پای پایښت

په دې حالت کې، متغیر د طرزالعمل دننه اعلان شوی، او ژباړونکی به تېروتنه وکړي که چیرې دا په بل طرزالعمل کې وکارول شي.

که تاسو غواړئ متغیر د نورو ماډلونو لخوا ولوستل شي، نو تاسو باید د ډیم کلیمې پرځای عامه کلیمه وکاروئ. په ورته ډول ، تاسو کولی شئ د عامه بیان په کارولو سره د متغیر ساحه یوازې اوسني ماډل ته محدود کړئ ، کوم چې د ډیم کلمې پرځای لیکل شوی.

تاسو کولی شئ په ورته ډول د کنسټنټونو ساحه تنظیم کړئ، مګر دلته کلیدي کلمه د کانسټ آپریټر سره یوځای لیکل شوې ده.

دلته یو جدول دی د ښه مثال سره چې دا څنګه د ثابت او متغیرونو سره کار کوي.

اختیار څرګند

عامه sVAT_Rate د واحد په توګه

عامه کانسټ iMax_Count = 5000

په دې مثال کې، تاسو کولی شئ وګورئ چې عامه کلیمې د متغیر اعلانولو لپاره څنګه کارول کیږي، او تاسو د عامه ثابت اعلان کولو لپاره د بصری بنسټیز مدیر کې څه لیکلو ته اړتیا لرئ. د دې ارزښت لرونکي کانټینرونو ساحه په ټولو ماډلونو کې پلي کیږي.
اختیار څرګند

شخصي sVAT_Rate د واحد په توګه

شخصي کانسټ iMax_Count = 5000

دلته متغیرات او ثابتونکي د شخصي کلیمې په کارولو سره اعلان شوي. دا پدې مانا ده چې دوی یوازې په اوسني ماډل کې لیدل کیدی شي، او په نورو ماډلونو کې پروسیجرونه نشي کارولی.

ولې ثابت او متغیر ته اړتیا ده

د ثابتو او متغیرونو کارول تاسو ته اجازه درکوي د کوډ د پوهیدو کچه لوړه کړي. او که په عموم کې پیل کونکي پدې اړه پوښتنې ونلري چې ولې متغیرونو ته اړتیا ده ، نو د ثابت اړتیا په اړه ډیری ابهام شتون لري. او دا پوښتنه، په لومړي نظر کې، خورا منطقي ښکاري. په هرصورت، تاسو کولی شئ یو ځل متغیر اعلان کړئ او هیڅکله یې بیا بدل نه کړئ.

ځواب د ډیټا ډولونو کارولو په اړه چې په حافظه کې لوی ځای نیسي په ورته الوتکه کې یو ځای وګرځي. که موږ د لوی شمیر متغیرونو سره معامله کوو، موږ کولی شو په ناڅاپي ډول یو موجود کانټینر بدل کړو. که چیرې کاروونکي وړاندیز وکړي چې یو ټاکلی ارزښت به هیڅکله بدل نشي، نو چاپیریال به په اتوماتيک ډول دا کنټرول کړي.

دا په ځانګړې توګه مهم دی کله چې میکرو د ډیری پروګرام کونکو لخوا لیکل کیږي. یو څوک شاید پوه شي چې ځینې تغیرات باید بدل نشي. او بله دا نه ده. که تاسو د کانسټ آپریټر مشخص کړئ، بل پرمخ وړونکی به پوه شي چې دا ارزښت نه بدلیږي.

یا، که چیرې د یو نوم سره ثابت وي، او متغیر مختلف، مګر ورته نوم لري. پراختیا کونکی کولی شي په ساده ډول دوی مغشوش کړي. د مثال په توګه، یو متغیر چې بدلون ته اړتیا نلري د تغیر 11 په نوم یادیږي، او بل چې ترمیم کیدی شي د Variable1 په نوم یادیږي. یو سړی کولی شي په اوتومات ډول ، کله چې کوډ لیکي ، په ناڅاپي ډول یو اضافي واحد پریږدي او نه یې خبر کړي. د پایلې په توګه، د ارزښتونو کانټینر به بدل شي، کوم چې باید لمس نشي.

یا پخپله پراختیا کوونکی ممکن هیر کړي چې کوم متغیرونه هغه لمس کولی شي او کوم یې نشي کولی. دا ډیری وختونه پیښیږي کله چې کوډ د څو اونیو لپاره لیکل کیږي، او د هغې اندازه لوی کیږي. د دې وخت په جریان کې، دا خورا اسانه ده چې هیر کړئ حتی د دې یا هغه متغیر معنی څه ده.

هو، تاسو په دې حالت کې د تبصرو سره کولی شئ، مګر د Const کلمه مشخص کول اسانه ندي؟

نتيجه ګيري:

متغیرات د میکرو پروګرام کولو یوه اړینه برخه ده، کوم چې تاسو ته اجازه درکوي پیچلي عملیات ترسره کړئ، د محاسبې څخه کاروونکي ته د ځانګړو پیښو په اړه خبرتیا یا د سپریڈ شیټ په حجرو کې ځانګړي ارزښتونه مشخص کول.

کانټینرونه باید وکارول شي که چیرې پراختیا کونکی د ډاډ لپاره پوهیږي چې د دې کانټینر مینځپانګې به په راتلونکي کې بدلون ونلري. دا سپارښتنه کیږي چې د دې پرځای متغیرات ونه کاروئ، ځکه چې دا ممکنه ده چې په ناڅاپي توګه غلطي وشي.

یو ځواب ورکړئ ووځي