Afritaðu summan af völdum frumum á klemmuspjald

Stundum tekur það mjög langan tíma að koma sumum hlutum í hug. En þegar þeir hafa þegar verið fundnir upp, þá virðast þeir sjálfsagðir og jafnvel banale. Úr seríunni "hvað, það var mögulegt?".

Frá fyrstu útgáfum sýndi stöðustikan neðst í Microsoft Excel glugganum venjulega heildartölur fyrir valda frumur:

Afritaðu summan af völdum frumum á klemmuspjald

Ef þess var óskað var jafnvel hægt að hægrismella á þessar niðurstöður og velja nákvæmlega í samhengisvalmyndinni hvaða aðgerðir við viljum sjá:

Afritaðu summan af völdum frumum á klemmuspjald

Og nýlega, í nýjustu Excel uppfærslunum, bættu Microsoft forritarar við einföldum en sniðugum eiginleikum - núna þegar þú smellir á þessar niðurstöður eru þær afritaðar á klemmuspjaldið!

Afritaðu summan af völdum frumum á klemmuspjald

Fegurð. 

En hvað með þá sem ekki enn (eða þegar?) eiga slíka útgáfu af Excel? Þetta er þar sem einföld fjölvi geta hjálpað.

Afritar summan af völdum frumum á klemmuspjaldið með því að nota fjölvi

Opna í flipa verktaki (hönnuður) ritstjóri Visual Basic eða notaðu þessa flýtilykla Alt+F11. Settu inn nýja tóma einingu í gegnum valmyndina Settu inn - Eining og afritaðu eftirfarandi kóða þangað:

Sub SumSelected() If TypeName(Selection) <> "Range" Then Exit Sub With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Selection) .PutInClipboard End With EndInC  

Rökfræði þess er einföld:

  • Fyrst kemur „verndin gegn fíflinum“ - við athugum hvað nákvæmlega er auðkennt. Ef ekki eru valdir hólf (en td myndrit), farðu síðan úr fjölva.
  • Notaðu síðan skipunina Getobject við búum til nýjan gagnahlut þar sem summan okkar af völdum frumum verður geymd síðar. Langur og óskiljanlegur alfanumerískur kóði er í raun hlekkur á Windows skrásetningargreinina þar sem bókasafnið er staðsett. Microsoft Forms 2.0 Object Library, sem getur búið til slíka hluti. Stundum er þetta bragð líka kallað óbein síðbinding. Ef þú notar það ekki, þá þarftu að búa til tengil á þetta bókasafn í skránni í gegnum valmyndina Verkfæri — Tilvísanir.
  • Summa valinna frumna er talin skipun VinnublaðFunction.Sum(Val), og þá er magnið sem myndast sett á klemmuspjaldið með skipuninni PutInClipboard

Til að auðvelda notkun geturðu að sjálfsögðu tengt þetta fjölvi við flýtilykla með því að nota hnappinn Fjölvi flipi verktaki (Hönnuður - Fjölvi).

Og ef þú vilt sjá hvað nákvæmlega var afritað eftir að makróið var keyrt, geturðu kveikt á klemmuspjaldinu með því að nota litlu örina neðst í hægra horninu á samsvarandi hópi á The aðalæð (Heim) flipann:

Afritaðu summan af völdum frumum á klemmuspjald

Ekki bara upphæðin

Ef þú vilt eitthvað annað, til viðbótar við banal magnið, þá geturðu notað hvaða aðgerð sem hluturinn gefur okkur Vinnublaðsaðgerð:

Afritaðu summan af völdum frumum á klemmuspjald

Til dæmis er:

  • Summa - summa
  • Meðaltal – reiknað meðaltal
  • Fjöldi – fjöldi frumna með tölum
  • CountA – fjöldi fylltra fruma
  • CountBlank – fjöldi tómra hólfa
  • Min – lágmarksgildi
  • Hámark - hámarksgildi
  • Miðgildi - miðgildi (miðgildi)
  • ... o.s.frv.

Þar á meðal síur og falda röð-dálka

Hvað ef línur eða dálkar eru faldar (handvirkt eða með síu) á völdu sviði? Til þess að taka ekki tillit til þeirra í heildartölum, þurfum við að breyta kóðanum okkar lítillega með því að bæta við hlutinn val eign SpecialCells(xlCellTypeVisible):

Sub SumVisible() If TypeName(Selection) <> "Range" Then Exit Sub With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Selection.SpecialTs)ype(SpecialCellTs)yp. PutInClipboard End With End Sub  

Í þessu tilviki verður útreikningur á heildarfalli aðeins beitt á sýnilegar frumur.

Ef þig vantar lifandi formúlu

Ef þig dreymir upp geturðu komið með atburðarás þar sem betra er að afrita ekki tölu (fasta), heldur lifandi formúlu inn í biðminni, sem reiknar út heildartölurnar sem við þurfum fyrir valda frumur. Í þessu tilfelli verður þú að líma formúluna úr brotum, bæta við það að fjarlægja dollaramerki og skipta um kommu (sem er notað sem skil á milli vistfönga nokkurra valinna sviða í VBA) með semíkommu:

Sub SumFormula() If TypeName(Selection) <> "Range" Then Exit Sub With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText "=СУММ(" & Replace(Selection.Selection. Heimilisfang, ",", ";"), "$", "") & ")" .PutInClipboard End With End Sub  

Samantekt með viðbótarskilyrðum

Og að lokum, fyrir algjöra geðveika, geturðu skrifað fjölvi sem mun draga saman ekki allar valdar frumur, heldur aðeins þær sem uppfylla tilgreind skilyrði. Svo, til dæmis, mun fjölvi líta þannig út sem setur summan af völdum frumum í biðminni, ef gildi þeirra eru hærri en 5 og á sama tíma eru þau fyllt með hvaða lit sem er:

 Undir CustomCalc() Dimma myRange As Range If TypeName(Selection) <> "Range" Þá Hætta undir fyrir hvern reit í vali Ef cell.Value > 5 And cell.Interior.ColorIndex <> xlNone Then If myRange Is Nothing Setjið þá myRange = reit Else Set myRange = Union(myRange, cell) End If End If Next cell With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(myRange) .PutIn Sublipboard  

Eins og þú getur auðveldlega ímyndað þér er hægt að stilla skilyrði nákvæmlega hvaða - allt að frumusniði - og í hvaða magni sem er (þar á meðal með því að tengja þau saman við rökræna rekstraraðila eða eða og). Það er mikið pláss fyrir ímyndunarafl.

  • Umbreyttu formúlum í gildi (6 leiðir)
  • Hvað eru fjölvi, hvernig á að nota þau, hvar á að setja inn Visual Basic kóða
  • Gagnlegar upplýsingar á stöðustikunni í Microsoft Excel

Skildu eftir skilaboð