کلپ بورډ ته د ټاکل شوي حجرو مجموعه کاپي کړئ

ځینې ​​​​وختونه دا خورا اوږد وخت نیسي چې د ځینو شیانو سره راشي. مګر کله چې دوی دمخه اختراع شوي وي ، د حقیقت وروسته دوی څرګند او حتی مجرد ښکاري. د لړۍ څخه "څه، دا ممکنه وه؟".

د لومړۍ نسخې څخه ، د مایکروسافټ ایکسل کړکۍ په ښکته کې د حالت بار په دودیز ډول د ټاکل شوي حجرو لپاره ټولټال ښودل شوي:

کلپ بورډ ته د ټاکل شوي حجرو مجموعه کاپي کړئ

که وغواړو، دا حتی ممکنه وه چې په دې پایلو باندې ښي کلیک وکړئ او د شرایطو مینو څخه غوره کړئ چې په سمه توګه کوم افعال چې موږ یې لیدل غواړو:

کلپ بورډ ته د ټاکل شوي حجرو مجموعه کاپي کړئ

او په دې وروستیو کې، په وروستي ایکسل تازه معلوماتو کې، د مایکروسافټ پراختیا کونکو یو ساده مګر هوښیار خصوصیت اضافه کړ - اوس کله چې تاسو په دې پایلو کلیک وکړئ، دوی کلپ بورډ ته کاپي شوي!

کلپ بورډ ته د ټاکل شوي حجرو مجموعه کاپي کړئ

ښکلا 

مګر د هغو کسانو په اړه څه چې لاهم (یا دمخه؟) د 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 لارې)
  • میکرو څه شی دي، څنګه یې وکاروئ، چیرته چې د بصری بنسټیز کوډ داخل کړئ
  • د مایکروسافټ ایکسل حالت بار کې ګټور معلومات

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