Yaliyomo
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:
Ikihitajika, iliwezekana kubofya-kulia matokeo haya na kuchagua kutoka kwa menyu ya muktadha ni kazi zipi hasa tunazotaka kuona:
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!
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:
Si tu kiasi
Ikiwa, pamoja na kiasi cha banal, unataka kitu kingine, basi unaweza kutumia kazi yoyote ambayo kitu kinatupa. Kazi ya Karatasi:
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.
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