فهرست
موږ د کارونکي تعریف شوي دندو په اړه د ښوونې لړۍ ته دوام ورکوو. زموږ په تیرو مقالو کې، موږ د ګمرک دندو سره اشنا شو او زده کړل چې څنګه یې جوړ او کارول. په دې لارښود کې به موږ د دې دندو د کارولو ځانګړتیاوې وګورو او د UDFs او VBA میکرو ترمنځ توپیرونه وګورو.
په دې ټیوټوریل کې به موږ لاندې زده کړو:
موږ امید لرو چې دا مقاله به د UDF په اړه ستاسو پوهه لوړه کړي او تاسو سره به ستاسو په Excel کاري کتابونو کې د دوی په مؤثره توګه کارولو کې مرسته وکړي.
ایا UDF او میکرو یو شی دی؟
دواړه د کارونکي تعریف شوي افعال او VBA میکرو د VBA مدیر په کارولو سره رامینځته شوي. د دوی تر مینځ توپیر څه دی او څه ته ترجیح ورکول کیږي؟
تر ټولو مهم توپیر دا دی چې فنکشن محاسبه کوي، او میکرو یو څه عمل ترسره کوي. د کارونکي تعریف شوی فنکشن، لکه د عادي Excel فنکشن په څیر، باید په حجره کې ولیکل شي. د هغې د اجرا کولو په پایله کې، حجره یو څه ارزښت بیرته راولي. په ورته وخت کې، دا ناشونې ده چې د نورو حجرو ارزښتونه بدل کړي، او همدارنګه د اوسني حجرو ځینې ملکیتونه (په ځانګړې توګه، بڼه کول). په هرصورت، تاسو کولی شئ په مشروطه بڼه فارمولونو کې دودیز فعالیت وکاروئ.
UDF او VBA میکرو په بیلابیلو لارو کار کوي. د مثال په توګه، کله چې تاسو په Visual Basic Editor کې UDF جوړ کړئ، تاسو د بیان سره پیل کوئ فنکشن او د پای فنکشن سره پای ته ورسیږئ. کله چې تاسو میکرو ثبت کړئ، تاسو د الف سره پیل کوئبیان Sub او د د پای فرعي سره پای.
ټول Visual Basic آپریټرونه د UDFs جوړولو لپاره نشي کارول کیدی. د دې دلیل لپاره، یو میکرو یو ډیر متقابل حل دی.
یو میکرو کارونکي ته اړتیا نلري چې کوم دلیلونه تیر کړي (نه دا کولی شي کوم دلیل ومني)، برعکس د کارونکي لخوا ټاکل شوي فعالیت.
نقطه دا ده چې د میکرو ځینې کمانډونه کولی شي د حجرو پته یا فارمیټ عناصر وکاروي (د بیلګې په توګه، رنګ). که تاسو حجرې حرکت کوئ، قطارونه او کالمونه اضافه یا لرې کړئ، د حجرو بڼه بدل کړئ، نو تاسو کولی شئ په اسانۍ سره خپل میکرو "مات کړئ". دا په ځانګړې توګه ممکنه ده که تاسو خپل فایل د همکارانو سره شریک کړئ څوک چې نه پوهیږي چې ستاسو میکرو څنګه کار کوي.
د مثال په توګه، تاسو د یو بشپړ میکرو سره یو فایل لرئ. دا فورمول د A1 څخه تر A4 پورې د حجرو سلنه محاسبه کوي. میکرو د دې حجرو رنګ ژیړ ته بدلوي. په فعاله حجره کې د سلنې بڼه ټاکل شوې ده.
که تاسو یا بل څوک پریکړه وکړئ چې یو نوی قطار داخل کړئ، میکرو به په A4 حجره کې د ارزښت په لټه کې وي ( ستاسو په UDF کې 4,1 پیرامیټر، ناکام کړئ او یوه تېروتنه راوباسئ:
پدې حالت کې، تېروتنه د صفر په واسطه د ویش له امله رامنځ ته شوه (په نوي اضافه شوي کې هیڅ ارزښت نشته قطار). په هغه صورت کې چې میکرو ترسره کوي، راځئ چې ووایو، لنډیز، نو تاسو به په ساده ډول غلط پایله ترلاسه کړئ. مګر تاسو به د دې په اړه نه پوهیږئ.
د میکرو برعکس، د کارونکي تعریف شوي افعال د داسې ناخوښ حالت لامل نشي.
لاندې تاسو د فعالیت فعالیت وګورئ.ورته حسابونه د UDF په کارولو سره. دلته تاسو کولی شئ د ورک شیټ په هر ځای کې ان پټ حجرې مشخص کړئ او تاسو به د دې بدلولو په وخت کې له کوم غیر متوقع مسلې سره مخ نه شئ.
ما لاندې فورمول په C3 کې لیکلی:
=UDF_vs_Macro(A1,A4)
بیا ما یو خالي قطار داخل کړ، او فورمول بدل شو لکه څنګه چې تاسو پورته په سکرین شاټ کې لیدلی شئ.
اوس موږ کولی شو یو ان پټ سیل یا حجره د فنکشن سره هرچیرې حرکت وکړو. پایله به تل سمه وي.
د UDFs کارولو اضافي ګټه دا ده چې دوی په اتوماتيک ډول تازه کیږي کله چې د ان پټ سیل ارزښت بدل شي. کله چې میکرو کاروئ، تاسو باید تل ډاډ ترلاسه کړئ چې ټول معلومات تازه دي.
د دې مثال په پام کې نیولو سره، زه د امکان په صورت کې د UDFs کارولو ته ترجیح ورکوم او یوازې د نورو غیر حسابي فعالیتونو لپاره میکرو وکاروم.
د UDF کارولو محدودیتونه او زیانونه
ما مخکې د UDF ګټې پورته ذکر کړې. اوږده کیسه لنډه، دا کولی شي محاسبه ترسره کړي چې د معیاري ایکسل افعال سره امکان نلري. سربیره پردې ، دا کولی شي اوږد او پیچلي فورمولونه خوندي او وکاروي ، دوی په یو واحد فعالیت بدلوي. او تاسو اړتیا نلرئ چې پیچلې فورمولونه په تکرار سره ولیکئ.
اوس راځئ چې د UDF نیمګړتیاو په اړه نور تفصیل سره وغږیږو:
- د UDFs رامینځته کول د VBA کارولو ته اړتیا لري. د هغې شاوخوا هیڅ لاره نشته. دا پدې مانا ده چې کارونکي نشي کولی UDF په ورته ډول د ایکسل میکرو په څیر ثبت کړي. تاسو باید پخپله UDF جوړ کړئ. په هرصورت، تاسو کولی شئ کاپي اود مخکینۍ ثبت شوي میکرو کوډ برخې په خپل فعالیت کې پیسټ کړئ. تاسو یوازې اړتیا لرئ د دودیز فعالیتونو محدودیتونو څخه خبر اوسئ.
- د UDF بله نیمګړتیا دا ده چې د نورو ایکسسل فنکشن په څیر دا کولی شي یوازې یو واحد ارزښت یا د ارزښتونو لړۍ په حجره کې بیرته راولي. دا په ساده ډول حسابونه ترسره کوي، نور څه نه.
- که تاسو غواړئ خپل کاري کتاب له خپلو همکارانو سره شریک کړئ، ډاډ ترلاسه کړئ چې خپل UDFs په ورته فایل کې خوندي کړئ. که نه نو، ستاسو دودیز فعالیتونه به د دوی لپاره کار ونکړي.
- د VBA مدیر سره جوړ شوي دودیز فعالیتونه د عادي کارونو په پرتله ورو دي. دا په ځانګړي توګه په لوی میزونو کې د پام وړ دی. له بده مرغه، VBA تر دې دمه خورا ورو پروګرامینګ ژبه ده. له همدې امله، که تاسو ډیری ډیټا لرئ، هڅه وکړئ کله چې امکان ولري معیاري افعال وکاروئ، یا د LAMBDA فنکشن په کارولو سره UDFs جوړ کړئ.
د دودیز فعالیت محدودیتونه:
- UDFs د محاسبې ترسره کولو او ارزښت بیرته راستنولو لپاره ډیزاین شوی. دوی د میکرو په ځای نشي کارول کیدی.
- دوی نشي کولی د نورو حجرو مینځپانګه بدله کړي (یوازې فعاله حجره).
- د فعالیت نومونه باید ځینې مقررات تعقیب کړي. د مثال په توګه، تاسو نشئ کولی هغه نوم وکاروئ چې د اصلي Excel فنکشن نوم یا د حجرې پته سره سمون ولري، لکه AB123.
- ستاسو دودیز فنکشن نشي کولی په نوم کې ځای ولري، مګر دا د انډر سکور کرکټر شاملولی شي. په هرصورت، غوره طریقه د هر نوي په پیل کې د لوی لیکونو کارول ديکلمه (د مثال په توګه، GetMaxBetween).
- یو UDF نشي کولی د کاري پاڼې نورو برخو ته حجرې کاپي او پیسټ کړي.
- دوی نشي کولی فعال کاري پاڼه بدله کړي.
- UDFs کولی شي په فعاله حجره کې بڼه بدل نه کړئ. که تاسو غواړئ د مختلف ارزښتونو ښودلو په وخت کې د حجرې فارمیټ بدل کړئ، نو تاسو باید شرطي بڼه وکاروئ.
- دوی نشي کولی اضافي کتابونه خلاص کړي.
- دوی نشي کولی د Application.OnTime په کارولو سره د میکرو چلولو لپاره وکارول شي. .
- د کارونکي لخوا ټاکل شوی فنکشن د میکرو ریکارډر په کارولو سره نشي رامینځته کیدی.
- فعالیتونه په پراختیا کونکي > میکروس ډیالوګ.
- ستاسو افعال به د ډیالوګ په بکس کې ښکاره شي ( داخل کړئ > فنکشن ) او د دندو په لیست کې یوازې هغه وخت څرګندیږي چې دوی د عامه<7 په توګه اعلان شوي وي> (دا ډیفالټ دی، پرته لدې چې بل ډول یادونه وشي).
- کوم فعالیت چې د شخصي په توګه اعلان شوی به د فیچر په لیست کې نه ښکاري.
دوی کولی شي په کار کې راشي ، او که موږ په دوی باندې لګول شوي محدودیتونو ته پام وکړو. که تاسو زده کړئ چې څنګه UDFs په سمه توګه رامینځته کړئ او وکاروئ ، تاسو کولی شئ خپل د دندو کتابتون ولیکئ. دا به په Excel کې د ډیټا سره ستاسو د کار کولو وړتیا پراخه کړي.
زما لپاره، دودیز فعالیتونه د وخت سپما کونکي دي. او ستاسو په اړه څه؟ ایا تاسو دمخه د خپل UDF جوړولو هڅه کړې؟ ستاسو خوښ شود لومړني ایکسل افعال څخه غوره؟ راځئ چې په نظرونو کې بحث وکړو :)