Kopyaha ang gidaghanon sa pinili nga mga selula ngadto sa Clipboard

Usahay kini nagkinahanglan og taas nga panahon sa paghimo sa pipila ka mga butang. Apan kung na-imbento na sila, pagkahuman sa kamatuoran ingon sila klaro ug bisan banal. Gikan sa serye nga "unsa, posible?".

Gikan sa una nga mga bersyon, ang status bar sa ilawom sa bintana sa Microsoft Excel tradisyonal nga nagpakita sa mga kinatibuk-an alang sa pinili nga mga cell:

Kopyaha ang gidaghanon sa pinili nga mga selula ngadto sa Clipboard

Kung gusto, mahimo pa gani nga i-right-click kini nga mga resulta ug pilia gikan sa menu sa konteksto kung unsang mga function ang gusto namon nga makita:

Kopyaha ang gidaghanon sa pinili nga mga selula ngadto sa Clipboard

Ug bag-o lang, sa pinakabag-o nga mga update sa Excel, ang mga developer sa Microsoft midugang og usa ka yano apan talagsaon nga bahin - karon kung imong i-klik kini nga mga resulta, kini makopya sa clipboard!

Kopyaha ang gidaghanon sa pinili nga mga selula ngadto sa Clipboard

Katahum. 

Apan komosta kadtong wala pa (o na?) adunay ingon nga bersyon sa Excel? Dinhi makatabang ang yano nga mga macro.

Pagkopya sa gidaghanon sa pinili nga mga selula ngadto sa Clipboard gamit ang macro

Ablihi sa tab developer (Developer) editor visual Basic o gamita kini nga keyboard shortcut alt+F11. Isulod ang bag-ong walay sulod nga module pinaagi sa menu Isulod – Module ug kopyaha ang mosunod nga code didto:

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

Ang lohika niini yano ra:

  • Una moabut ang "panalipod gikan sa buang" - among susihon kung unsa gyud ang gipasiugda. Kung dili mga cell ang gipili (apan, pananglitan, usa ka tsart), dayon paggawas sa macro.
  • Unya gamit ang command Getobject naghimo kami og bag-ong butang nga datos diin ang among gidaghanon sa pinili nga mga selula itago sa ulahi. Ang usa ka taas ug dili masabtan nga alphanumeric code, sa tinuud, usa ka link sa sanga sa rehistro sa Windows diin nahimutang ang librarya. Microsoft Forms 2.0 Object Library, nga makahimo sa ingon nga mga butang. Usahay kini nga lansis gitawag usab implicit late binding. Kung dili nimo kini gamiton, nan kinahanglan nimo nga maghimo usa ka link sa kini nga librarya sa file pinaagi sa menu Mga Himan - Mga Reperensya.
  • Ang kadaghanon sa pinili nga mga selula giisip nga usa ka sugo WorksheetFunction.Sum(Selection), ug dayon ang resulta nga kantidad ibutang sa clipboard nga adunay command PutInClipboard

Alang sa kasayon ​​​​sa paggamit, mahimo nimo, siyempre, i-assign kini nga macro sa usa ka shortcut sa keyboard gamit ang buton Macros tab developer (Developer - Macros).

Ug kung gusto nimo makita kung unsa gyud ang gikopya pagkahuman gipadagan ang macro, mahimo nimong i-on ang panel sa Clipboard gamit ang gamay nga arrow sa ubos nga tuo nga suok sa katugbang nga grupo sa ang nag-unang (Balay) tab:

Kopyaha ang gidaghanon sa pinili nga mga selula ngadto sa Clipboard

Dili lang ang kantidad

Kung, dugang sa banal nga kantidad, gusto nimo ang usa pa ka butang, nan mahimo nimong gamiton ang bisan unsang mga gimbuhaton nga gihatag kanamo sa butang. WorksheetFunction:

Kopyaha ang gidaghanon sa pinili nga mga selula ngadto sa Clipboard

Pananglitan, adunay:

  • Sum – sum
  • Average – aritmetikong mean
  • Ihap – gidaghanon sa mga selula nga adunay mga numero
  • CountA – gidaghanon sa napuno nga mga selula
  • CountBlank – gidaghanon sa walay sulod nga mga selula
  • Min - minimum nga kantidad
  • Max - maximum nga bili
  • Median – median (sentro nga bili)
  • … Ug uban pa

Naglakip sa mga filter ug tinago nga mga row-column

Unsa kaha kung ang mga laray o kolum gitago (manual o pinaagi sa usa ka filter) sa pinili nga range? Aron dili kini isipon sa mga total, kinahanglan natong usbon gamay ang atong code pinaagi sa pagdugang sa butang pagpili kabtangan Mga Espesyal nga Selyo(xlCellTypeVisible):

Sub SumVisible() Kung TypeName(Selection) <> "Range" Unya Exit Sub With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Selection.SpecialCell)Tx Tapuson ang PutInClipboard Uban ang End Sub  

Sa kini nga kaso, ang pagkalkula sa bisan unsang kinatibuk-ang function magamit sa makita nga mga cell lamang.

Kung kinahanglan nimo ang usa ka buhi nga pormula

Kung nagdamgo ka, mahimo ka makahimo og mga senaryo kung mas maayo nga kopyahon dili usa ka numero (kanunayon), apan usa ka buhi nga pormula sa buffer, nga nagkalkula sa mga kinatibuk-an nga kinahanglan namon alang sa mga napili nga mga selyula. Sa kini nga kaso, kinahanglan nimo nga ipapilit ang pormula gikan sa mga tipik, idugang niini ang pagtangtang sa mga timaan sa dolyar ug ilisan ang comma (nga gigamit ingon usa ka separator tali sa mga adres sa daghang pinili nga mga sakup sa VBA) nga adunay semicolon:

Sub SumFormula() Kon TypeName(Selection) <> "Range" Unya Exit Sub With GetObject("Bag-o:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText "=СУММ(" & Replace(Ilisan(Selection. Address, ",", ";"), "$", "") & ")" .PutInClipboard Tapuson Uban sa End Sub  

Summation uban sa dugang nga mga kondisyon

Ug, sa katapusan, alang sa hingpit nga mga maniac, mahimo nimong isulat ang usa ka macro nga magsumaryo dili tanan nga pinili nga mga selyula, apan ang mga nagtagbaw lamang sa gihatag nga mga kondisyon. Busa, pananglitan, ang usa ka macro mahimong tan-awon nga nagbutang sa gidaghanon sa mga pinili nga mga selula ngadto sa Buffer, kung ang ilang mga bili labaw pa sa 5 ug sa samang higayon kini napuno sa bisan unsang kolor:

 Sub CustomCalc() Dim myRange Ingong Range Kon TypeName(Selection) <> "Range" Unya Exit Sub Para sa Matag cell Sa Selection Kon cell.Value > 5 Ug cell.Interior.ColorIndex <> xlWala Unya Kung myRange Wala Nay Set myRange = cell Lain nga Set myRange = Union(myRange, cell) Katapusan Kon Katapusan Kon Sunod cell Uban sa GetObject("Bag-o:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(myRange) .PutInClipboard Katapusan Uban sa Katapusan  

Sama sa dali nimong mahanduraw, ang mga kondisyon mahimong itakda sa hingpit bisan unsa - hangtod sa mga format sa cell - ug sa bisan unsang gidaghanon (lakip ang pinaagi sa pagdugtong niini kauban ang mga lohikal nga operator o o ug). Adunay daghang luna alang sa paghanduraw.

  • I-convert ang mga pormula ngadto sa mga mithi (6 ka paagi)
  • Unsa ang mga macro, kung giunsa kini gamiton, kung diin ibutang ang Visual Basic code
  • Mapuslanon nga impormasyon sa status bar sa Microsoft Excel

Leave sa usa ka Reply