Պատճենեք ընտրված բջիջների գումարը Clipboard-ում

Երբեմն շատ երկար ժամանակ է պահանջվում որոշ բաների մասին մտածելու համար: Բայց երբ դրանք ԱՐԴԵՆ հորինված են, այնուհետև դրանք ակնհայտ և նույնիսկ բանալ են թվում։ «Ի՞նչ, հնարավոր էր» շարքից։

Առաջին իսկ տարբերակներից Microsoft Excel-ի պատուհանի ներքևի մասում գտնվող կարգավիճակի տողում ավանդաբար ցուցադրվում էին ընտրված բջիջների գումարները.

Պատճենեք ընտրված բջիջների գումարը Clipboard-ում

Ցանկության դեպքում հնարավոր էր նույնիսկ աջ սեղմել այս արդյունքների վրա և համատեքստի ընտրացանկից ընտրել, թե կոնկրետ որ գործառույթներն ենք ուզում տեսնել.

Պատճենեք ընտրված բջիջների գումարը Clipboard-ում

Եվ հենց վերջերս, Excel-ի վերջին թարմացումներում, Microsoft-ի մշակողները ավելացրել են մի պարզ, բայց հնարամիտ հատկություն. այժմ, երբ սեղմում եք այս արդյունքների վրա, դրանք պատճենվում են clipboard-ում:

Պատճենեք ընտրված բջիջների գումարը Clipboard-ում

Գեղեցկություն. 

Իսկ ի՞նչ կասեք նրանց մասին, ովքեր դեռ չունեն (կամ արդեն) Excel-ի նման տարբերակ: Այստեղ կարող են օգնել պարզ մակրոները:

Ընտրված բջիջների գումարի պատճենումը Clipboard-ում՝ օգտագործելով մակրո

Բացեք ներդիրում երեվակիչ (մշակող) խմբագիր Visual Basic կամ օգտագործեք այս ստեղնաշարի դյուրանցումը ալտ+F11. Տեղադրեք նոր դատարկ մոդուլ մենյուի միջոցով Ներդիր – մոդուլ և այնտեղ պատճենեք հետևյալ կոդը.

Sub SumSelected() If TypeName(Selection) <> "Range" Ապա դուրս եկեք Sub With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Endboard(PutInC)  

Դրա տրամաբանությունը պարզ է.

  • Սկզբում գալիս է «հիմարից պաշտպանությունը». մենք ստուգում ենք, թե կոնկրետ ինչն է ընդգծված: Եթե ​​ընտրված են ոչ բջիջներ (այլ, օրինակ, գծապատկեր), ապա դուրս եկեք մակրոյից:
  • Այնուհետև օգտագործելով հրամանը Getobject մենք ստեղծում ենք տվյալների նոր օբյեկտ, որտեղ մեր ընտրված բջիջների գումարը հետագայում կպահվի: Երկար և անհասկանալի այբբենական ծածկագիրը իրականում հղում է դեպի Windows ռեեստրի մասնաճյուղը, որտեղ գտնվում է գրադարանը: Microsoft- ը ձեւավորում է 2.0 օբյեկտի գրադարան, որը կարող է ստեղծել նման օբյեկտներ. Երբեմն այս հնարքը նաև կոչվում է անուղղակի ուշ կապում. Եթե ​​դուք չեք օգտագործում այն, ապա դուք ստիպված կլինեք հղում կատարել դեպի այս գրադարանը ֆայլում ցանկի միջոցով Գործիքներ — Հղումներ.
  • Ընտրված բջիջների գումարը համարվում է հրաման WorksheetFunction.Sum (Ընտրություն), իսկ հետո ստացված գումարը հրամանով տեղադրվում է clipboard-ում PutInClipboard

Օգտագործման հեշտության համար, իհարկե, կարող եք այս մակրո նշանակել ստեղնաշարի դյուրանցման կոճակի միջոցով Մակրո ականջակալ երեվակիչ (Մշակող — մակրո).

Եվ եթե ցանկանում եք տեսնել, թե կոնկրետ ինչ է պատճենվել մակրո գործարկելուց հետո, կարող եք միացնել Clipboard վահանակը՝ օգտագործելով համապատասխան խմբի ստորին աջ անկյունում գտնվող փոքրիկ սլաքը: Ծրագրի հիմնական (Տուն) էջանշանը:

Պատճենեք ընտրված բջիջների գումարը Clipboard-ում

Ոչ միայն գումարը

Եթե, բացի սովորական գումարից, այլ բան եք ուզում, ապա կարող եք օգտագործել ցանկացած գործառույթ, որը մեզ տրամադրում է օբյեկտը Աշխատանքային թերթի գործառույթ:

Պատճենեք ընտրված բջիջների գումարը Clipboard-ում

Օրինակ, կա.

  • Գումար – գումար
  • Միջին - թվաբանական միջին
  • Count - թվերով բջիջների քանակը
  • CountA - լցված բջիջների քանակը
  • CountBlank - դատարկ բջիջների քանակը
  • Min - նվազագույն արժեքը
  • Max - առավելագույն արժեք
  • Միջին - միջին (կենտրոնական արժեք)
  • … Եվ այլն

Ներառյալ զտիչներ և թաքնված տող-սյունակներ

Ի՞նչ անել, եթե տողերը կամ սյունակները թաքնված են (ձեռքով կամ զտիչով) ընտրված տիրույթում: Որպեսզի դրանք հաշվի չառնենք հանրագումարներում, մենք պետք է մի փոքր փոփոխենք մեր կոդը՝ ավելացնելով օբյեկտին Ընտրություն սեփականություն SpecialCells (xlCellTypeVisible):

Sub SumVisible() If TypeName(Selection) <> "Range" Ապա դուրս եկեք Sub-ի հետ GetObject-ով ("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(SellibleTestFunction.Sum(SellellpeialCelection.) PutInClipboard End With End Sub  

Այս դեպքում ցանկացած ընդհանուր ֆունկցիայի հաշվարկը կկիրառվի միայն տեսանելի բջիջների վրա:

Եթե ​​Ձեզ անհրաժեշտ է կենդանի բանաձեւ

Եթե ​​երազում եք, կարող եք սցենարներ հորինել, երբ ավելի լավ է բուֆերի մեջ պատճենել ոչ թե թիվ (հաստատուն), այլ կենդանի բանաձև, որը հաշվարկում է ընտրված բջիջների համար մեզ անհրաժեշտ գումարները: Այս դեպքում դուք ստիպված կլինեք սոսնձել բանաձևը բեկորներից՝ դրան ավելացնելով դոլարի նշանների հեռացումը և ստորակետը (որն օգտագործվում է որպես VBA-ում մի քանի ընտրված տիրույթների հասցեների միջև բաժանարար) փոխարինելով կետ-ստորակետով.

Sub SumFormula() If TypeName(Selection) <> "Range", Ապա դուրս եկեք Sub-ի հետ GetObject-ով ("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText "=СУММ(") & Replace.(Replace. Հասցե, ",", ";"), "$", "") & ")" .PutInClipboard ավարտվում է End Sub-ով  

Լրացուցիչ պայմաններով գումարում

Եվ, վերջապես, ամբողջովին մոլագարների համար կարող եք գրել մակրո, որը կամփոփի ոչ բոլոր ընտրված բջիջները, այլ միայն նրանք, որոնք բավարարում են տվյալ պայմաններին։ Այսպիսով, օրինակ, մակրո տեսք կունենա, որը ընտրված բջիջների գումարը դնում է բուֆերի մեջ, եթե դրանց արժեքները 5-ից մեծ են և միևնույն ժամանակ դրանք լցված են ցանկացած գույնով.

 Sub CustomCalc() Dim myRange As Range If TypeName(Selection) <> «Range», Ապա Դուրս եկեք Sub For Every cell Selection If cell.Value > 5 And cell.Interior.ColorIndex <> xlNone Հետո, եթե myRange Is Nothing, ապա սահմանեք myRange = բջիջ Else Սահմանել myRange = Միություն (myRange, բջիջ) End If End If Next cell With GetObject ("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(myPutInlip)  

Ինչպես հեշտությամբ կարող եք պատկերացնել, պայմանները կարող են սահմանվել բացարձակապես ցանկացած՝ մինչև բջջային ձևաչափեր, և ցանկացած քանակով (այդ թվում՝ դրանք տրամաբանական օպերատորների հետ կապելով կամ կամ և-ի հետ): Երևակայության համար շատ տեղ կա։

  • Փոխարկել բանաձևերը արժեքների (6 եղանակ)
  • Ինչ են մակրոները, ինչպես օգտագործել դրանք, որտեղ տեղադրել Visual Basic կոդը
  • Օգտակար տեղեկատվություն Microsoft Excel-ի կարգավիճակի տողում

Թողնել գրառում