کړی
ځینې وختونه دا خورا اوږد وخت نیسي چې د ځینو شیانو سره راشي. مګر کله چې دوی دمخه اختراع شوي وي ، د حقیقت وروسته دوی څرګند او حتی مجرد ښکاري. د لړۍ څخه "څه، دا ممکنه وه؟".
د لومړۍ نسخې څخه ، د مایکروسافټ ایکسل کړکۍ په ښکته کې د حالت بار په دودیز ډول د ټاکل شوي حجرو لپاره ټولټال ښودل شوي:
که وغواړو، دا حتی ممکنه وه چې په دې پایلو باندې ښي کلیک وکړئ او د شرایطو مینو څخه غوره کړئ چې په سمه توګه کوم افعال چې موږ یې لیدل غواړو:
او په دې وروستیو کې، په وروستي ایکسل تازه معلوماتو کې، د مایکروسافټ پراختیا کونکو یو ساده مګر هوښیار خصوصیت اضافه کړ - اوس کله چې تاسو په دې پایلو کلیک وکړئ، دوی کلپ بورډ ته کاپي شوي!
ښکلا
مګر د هغو کسانو په اړه څه چې لاهم (یا دمخه؟) د Excel داسې نسخه نلري؟ دا هغه ځای دی چې ساده میکرو کولی شي مرسته وکړي.
د میکرو په کارولو سره کلپ بورډ ته د ټاکل شوي حجرو مجموعه کاپي کول
په ټب کې خلاص کړئ د پراختیا (پراختیا) مسوول مدير شارپ یا دا کیبورډ شارټ کټ وکاروئ alt+F11. د مینو له لارې نوی خالي ماډل داخل کړئ داخل کړئ - ماډل او هلته لاندې کوډ کاپي کړئ:
فرعي SumSelected() که TypeName(Selection) <> "Range" نو د GetObject ("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") سره له فرعي څخه وځئ. د متن کاري پاڼي فنکشن.SetText WorksheetFunction.SumpdInC.SumpdInC.
منطق یې ساده دی:
- لومړی د "احمق څخه محافظت" راځي - موږ ګورو چې واقعیا څه روښانه شوي. که چیرې حجرې نه وي غوره شوي (مګر، د بیلګې په توګه، یو چارټ)، بیا د میکرو څخه ووتل.
- بیا د کمانډ په کارولو سره Getobject موږ یو نوی ډیټا اعتراض رامینځته کوو چیرې چې زموږ د ټاکل شوي حجرو مجموعه به وروسته زیرمه شي. یو اوږد او د نه پوهیدو وړ الفانومیریک کوډ په حقیقت کې د وینډوز راجستر څانګې ته لینک دی چیرې چې کتابتون موقعیت لري مایکروسافټ فارم 2.0 آبجیکٹ کتابتون، کوم چې کولی شي داسې شیان رامینځته کړي. ځینې وختونه دا چال هم ویل کیږي ضمني ناوخته پابند. که تاسو دا نه کاروئ، نو تاسو باید د مینو له لارې په فایل کې دې کتابتون ته لینک جوړ کړئ وسیلې - حوالې.
- د ټاکل شوي حجرو مجموعه یو کمانډ ګڼل کیږي WorksheetFunction.Sum(انتخاب)، او بیا پایله شوې اندازه د کمانډ سره په کلپ بورډ کې کیښودل کیږي PutInClipboard
د کارونې اسانتیا لپاره، تاسو کولی شئ، البته، دا میکرو د تڼۍ په کارولو سره د کیبورډ شارټ کټ ته وټاکئ میکروس ټوپ د پراختیا (پراختیا کونکي - میکروس).
او که تاسو غواړئ وګورئ چې د میکرو چلولو وروسته واقعیا څه کاپي شوي ، تاسو کولی شئ د اړوندې ډلې په ښکته ښیې کونج کې د کوچني تیر په کارولو سره د کلیپ بورډ پینل فعال کړئ. د اصلي (کور) ټب:
نه یوازې اندازه
که تاسو د ممنوع مقدار سربیره ، بل څه غواړئ ، نو تاسو کولی شئ هر هغه افعال وکاروئ چې اعتراض موږ ته چمتو کوي. د کاري پاڼې فعالیت:
د مثال په توګه، شتون لري:
- مجموعه - جمع
- اوسط - د ریاضی معنی
- شمیره - د شمیرو سره د حجرو شمیر
- CountA - د ډکو حجرو شمیر
- CountBlank - د خالي حجرو شمیر
- لږترلږه - لږترلږه ارزښت
- اعظمي - اعظمي ارزښت
- منځنی – منځنی (مرکزی ارزښت)
- … وغيره.
که چیرې قطارونه یا کالمونه په ټاکل شوي حد کې پټ وي (په لاسي یا د فلټر په واسطه)؟ د دې لپاره چې دوی په مجموع کې په پام کې ونه نیول شي، موږ به د اعتراض په اضافه کولو سره خپل کوډ یو څه بدلون ته اړتیا ولرو د غوراوي د ملکیت ځانګړي سیلونه(xlCellTypeVisible):
Sub SumVisible() که TypeName(Selection) <> "Range" بیا د GetObject ("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") سره فرعي څخه وځئ .SetText WorksheetFunction.Sumcial(Selectible)Velect. PutInClipboard پای د پای فرعي سره
په دې حالت کې، د هر ټول فعالیت محاسبه به یوازې د لیدلو حجرو لپاره پلي شي.
که تاسو د ژوند فورمول ته اړتیا لرئ
که تاسو خوب کوئ، تاسو کولی شئ د سناریوګانو سره راشئ کله چې دا غوره وي چې یو شمیر (مستقل) نه کاپي کړئ، مګر په بفر کې یو ژوندی فورمول، کوم چې موږ د ټاکل شوي حجرو لپاره ټولټال حساب کوو. په دې حالت کې، تاسو باید د ټوټو څخه فورمول چپک کړئ، په دې کې د ډالر نښو لرې کول او د کوما ځای په ځای کول (کوم چې په VBA کې د څو ټاکل شویو سلسلې پتې ترمنځ د جلا کونکي په توګه کارول کیږي) د سیمیکولون سره:
فرعي SumFormula() که TypeName(Selection) <> "Range" نو د GetObject ("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") سره فرعي څخه ووځي .SetText "=СУММ(" او ځای پرځای کړئ. پته، "،"، "؛")، "$"، "") & ")" .PutInClipboard پای د پای فرعي سره
د اضافي شرایطو سره مجموعه
او، په نهایت کې، په بشپړ ډول د مینه والو لپاره، تاسو کولی شئ یو میکرو ولیکئ چې ټول ټاکل شوي حجرې نه راټولوي، مګر یوازې هغه چې ورکړل شوي شرایط پوره کوي. نو، د مثال په توګه، یو میکرو به داسې ښکاري چې د ټاکل شوي حجرو مجموعه بفر ته اچوي، که چیرې د دوی ارزښتونه له 5 څخه ډیر وي او په ورته وخت کې دوی د هر رنګ سره ډک شوي وي:
Sub CustomCalc() Dim myRange د رینج په توګه که TypeName(Selection) <> "Range" بیا د هرې حجرې لپاره Sub Exit په انتخاب کې که cell.Value > 5 او cell.Interior.ColorIndex <> xlNone بیا که myRange هیڅ نه وي نو بیا myRange = ترتیب کړئ. cell بل ډول وټاکئ myRange = Union(myRange, cell) پای که پای ته ورسيږي که بله حجره د GetObject سره ("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(MyPRange) سره End.
لکه څنګه چې تاسو په اسانۍ سره تصور کولی شئ، شرایط په بشپړ ډول هر ډول ترتیب کیدی شي - د حجرو فارمیټونو پورې - او په هر مقدار کې (د منطقي آپریټرونو سره یوځای کولو سره یا او یا هم). د تخیل لپاره ډیر ځای شتون لري.
- فورمولونه ارزښتونو ته واړوئ (6 لارې)
- میکرو څه شی دي، څنګه یې وکاروئ، چیرته چې د بصری بنسټیز کوډ داخل کړئ
- د مایکروسافټ ایکسل حالت بار کې ګټور معلومات