Nakili jumla ya visanduku vilivyochaguliwa kwenye Ubao wa kunakili

Wakati mwingine inachukua muda mrefu sana kuja na baadhi ya mambo. Lakini wakati TAYARI zimezuliwa, baada ya ukweli zinaonekana dhahiri na hata kupiga marufuku. Kutoka kwa mfululizo "nini, iliwezekana?".

Kutoka kwa matoleo ya kwanza kabisa, upau wa hali chini ya dirisha la Microsoft Excel unaonyesha jumla ya seli zilizochaguliwa:

Nakili jumla ya visanduku vilivyochaguliwa kwenye Ubao wa kunakili

Ikihitajika, iliwezekana kubofya-kulia matokeo haya na kuchagua kutoka kwa menyu ya muktadha ni kazi zipi hasa tunazotaka kuona:

Nakili jumla ya visanduku vilivyochaguliwa kwenye Ubao wa kunakili

Na hivi majuzi, katika masasisho ya hivi punde ya Excel, watengenezaji wa Microsoft waliongeza kipengele rahisi lakini cha werevu - sasa unapobofya matokeo haya, yananakiliwa kwenye ubao wa kunakili!

Nakili jumla ya visanduku vilivyochaguliwa kwenye Ubao wa kunakili

Uzuri. 

Lakini vipi kuhusu wale ambao bado (au tayari?) wana toleo kama hilo la Excel? Hapa ndipo macros rahisi inaweza kusaidia.

Kunakili jumla ya seli zilizochaguliwa kwenye Ubao Klipu kwa kutumia makro

Fungua kwenye kichupo developer (Msanidi programu) mhariri Visual Basic au tumia njia hii ya mkato ya kibodi Alt+F11. Ingiza moduli mpya tupu kupitia menyu Ingiza - Moduli na unakili nambari ifuatayo hapo:

SumSelected() Ikiwa TypeName(Selection) <> "Msururu" Kisha Toka Ndogo Ukiwa na GetObject("Mpya:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Chaguo EndC Lipboard) .  

Mantiki yake ni rahisi:

  • Kwanza inakuja "ulinzi kutoka kwa mjinga" - tunaangalia ni nini hasa kilichoonyeshwa. Ikiwa sio seli zilizochaguliwa (lakini, kwa mfano, chati), kisha uondoke kwa jumla.
  • Kisha kutumia amri Getobject tunaunda kipengee kipya cha data ambapo jumla ya seli zilizochaguliwa zitahifadhiwa baadaye. Msimbo mrefu na usioeleweka wa alphanumeric, kwa kweli, ni kiungo cha tawi la usajili wa Windows ambapo maktaba iko. Maktaba ya Kitu cha Fomu za 2.0 za Microsoft, ambayo inaweza kuunda vitu kama hivyo. Wakati mwingine hila hii pia inaitwa kufungiwa kwa marehemu. Ikiwa hutumii, basi itabidi utengeneze kiungo cha maktaba hii kwenye faili kupitia menyu Zana - Marejeleo.
  • Jumla ya seli zilizochaguliwa inachukuliwa kuwa amri Kazi ya Karatasi ya Kazi.Jumla(Uteuzi), na kisha kiasi kinachopatikana kinawekwa kwenye ubao wa kunakili na amri PutInClipboard

Kwa urahisi wa matumizi, unaweza, bila shaka, kugawa macro hii kwa njia ya mkato ya kibodi kwa kutumia kifungo Macros tab developer (Msanidi - Macros).

Na ikiwa unataka kuona ni nini hasa kilinakiliwa baada ya kuendesha jumla, unaweza kuwasha paneli ya Ubao wa kunakili kwa kutumia mshale mdogo kwenye kona ya chini ya kulia ya kikundi kinacholingana. kuu (Nyumbani) tab:

Nakili jumla ya visanduku vilivyochaguliwa kwenye Ubao wa kunakili

Si tu kiasi

Ikiwa, pamoja na kiasi cha banal, unataka kitu kingine, basi unaweza kutumia kazi yoyote ambayo kitu kinatupa. Kazi ya Karatasi:

Nakili jumla ya visanduku vilivyochaguliwa kwenye Ubao wa kunakili

Kwa mfano, kuna:

  • Jumla - jumla
  • Wastani - maana ya hesabu
  • Hesabu - idadi ya seli zilizo na nambari
  • Hesabu - idadi ya seli zilizojaa
  • CountBlank - idadi ya seli tupu
  • Kiwango cha chini - thamani ya chini
  • Upeo - thamani ya juu
  • Wastani - wastani (thamani ya kati)
  • … na kadhalika.

Ikijumuisha vichujio na safu mlalo zilizofichwa

Je, ikiwa safu mlalo au safu wima zimefichwa (kwa mikono au kwa kichujio) katika safu iliyochaguliwa? Ili tusizizingatie katika jumla, tutahitaji kurekebisha kidogo nambari yetu kwa kuongeza kwenye kitu. Uteuzi mali Seli Maalum(xlCellTypeVisible):

Sub SumVisible() Iwapo TypeName(Selection) <> "Range" Kisha Ondoka kwa Sub With GetObject("Mpya:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Selection.Vill Cell)Type(Selection.Vill Cell) PutInClipboard Mwisho Na Mwisho Sub  

Katika kesi hii, hesabu ya kazi yoyote ya jumla itatumika kwa seli zinazoonekana pekee.

Ikiwa unahitaji formula hai

Ikiwa unaota, unaweza kuja na hali wakati ni bora kunakili sio nambari (mara kwa mara), lakini fomula hai kwenye buffer, ambayo huhesabu jumla tunayohitaji kwa seli zilizochaguliwa. Katika kesi hii, itabidi gundi fomula kutoka kwa vipande, na kuongeza kuondolewa kwa ishara za dola na kuchukua nafasi ya koma (ambayo hutumiwa kama kitenganishi kati ya anwani za safu kadhaa zilizochaguliwa katika VBA) na semicolon:

SumFormula Ndogo() Iwapo TypeName(Chaguo) <> "Msururu" Kisha Uondoke Ndogo Kwa GetObject("Mpya:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText "=СУММ(" & Badilisha(Badilisha(Uteuzi. Anwani, ",", ";"), "$", "") & ")" .PutInClipboard Maliza Na Ndogo ya Mwisho  

Muhtasari na masharti ya ziada

Na, mwishowe, kwa maniacs kabisa, unaweza kuandika jumla ambayo itajumuisha sio seli zote zilizochaguliwa, lakini zile tu zinazokidhi masharti yaliyopewa. Kwa hivyo, kwa mfano, macro itaonekana kama hiyo inaweka jumla ya seli zilizochaguliwa kwenye Buffer, ikiwa maadili yao ni kubwa kuliko 5 na wakati huo huo yamejazwa na rangi yoyote:

 Sub CustomCalc() Dim myRange Kama Masafa Kama TypeName(Selection) <> "Range" Kisha Toka Ndogo Kwa Kila seli Iliyochaguliwa Ikiwa seli.Value > 5 Na cell.Interior.ColorIndex <> xlNone Kisha Ikiwa myRange Si Chochote Kisha Weka myRange = seli Else Set myRange = Muungano(myRange, kisanduku) Maliza Ikiwa Kisanduku Kinachofuata Kwa GetObject("Mpya:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(myRange) . End With SubClipboard  

Kama unavyoweza kufikiria kwa urahisi, masharti yanaweza kuwekwa yoyote kabisa - hadi fomati za seli - na kwa idadi yoyote (pamoja na kuziunganisha pamoja na waendeshaji kimantiki au au na). Kuna nafasi nyingi ya kufikiria.

  • Badilisha fomula kuwa maadili (njia 6)
  • Macros ni nini, jinsi ya kuzitumia, wapi kuingiza msimbo wa Visual Basic
  • Taarifa muhimu katika upau wa hali ya Microsoft Excel

Acha Reply