Kuendesha macro kwa wakati

Kesi ya kawaida sana katika mazoezi: unahitaji kukimbia moja au zaidi ya macros yako kwa wakati fulani au kwa mzunguko fulani. Kwa mfano, una ripoti kubwa na nzito inayosasishwa kwa nusu saa na ungependa kusasisha nusu saa kabla ya kufika kazini asubuhi. Au una jumla ambayo inapaswa kutuma barua pepe kiotomatiki kwa wafanyikazi kwa masafa maalum. Au, unapofanya kazi na PivotTable, unataka isasishe kwenye kuruka kila sekunde 10, na kadhalika.

Hebu tuangalie ni nini Excel na Windows wana uwezo wa kutekeleza hili.

Kuendesha jumla kwa masafa fulani

Njia rahisi zaidi ya kufanya hivyo ni kutumia njia ya VBA iliyojengwa Maombi.Kwa WakatiAn inayoendesha macro maalum kwa wakati maalum. Hebu tuelewe hili kwa mfano wa vitendo.

Fungua kihariri cha Visual Basic na kitufe cha jina moja kwenye kichupo developer (Msanidi programu) au njia ya mkato ya kibodi Alt+F11, ingiza moduli mpya kupitia menyu Ingiza - Moduli na unakili nambari ifuatayo hapo:

Dim TimeToRun 'kigeugeu cha kimataifa ambapo wakati unaofuata wa kukimbia huhifadhiwa 'hii ndio programu kuu ya Sub MyMacro(). Kokotoa 'hesabu upya safu ya kitabu("A1").Interior.ColorIndex = Int(Rnd() * 56) 'jaza seli A1 yenye rangi nasibu :) Piga simu NextRun 'endesha NextRun macro ili kuweka muda unaofuata wa kukimbia End Sub 'jumla hii inaweka muda wa utendakazi unaofuata wa macro kuu Sub NextRun() TimeToRun = Now + TimeValue("00: 00:03") 'ongeza sekunde 3 kwa wakati wa sasa wa Application.OnTime TimeToRun, "MyMacro" 'ratibisha ukimbiaji unaofuata End Sub 'macro ili kuanza mlolongo wa kurudia Sub Start() Piga simu NextRun End Sub 'macro ili kusimamisha mlolongo wa kurudia. Sub Finish() Application.OnTime TimeToRun, "MyMacro", , False End Sub  

Wacha tujue ni nini hapa.

Kwanza, tunahitaji kutofautiana ambayo itahifadhi wakati wa kukimbia ijayo ya macro yetu - niliita TimeToRun. Tafadhali kumbuka kuwa yaliyomo katika utaftaji huu lazima yapatikane kwa macros yetu yote inayofuata, kwa hivyo tunahitaji kuifanya. kimataifa, yaani tangaza mwanzoni kabisa mwa moduli kabla ya ya kwanza Chini.

Inayofuata inakuja jumla yetu kuu MyMacro, ambayo itafanya kazi kuu - kuhesabu upya kitabu kwa kutumia njia Maombi.Hesabu. Ili kuifanya iwe wazi zaidi, niliongeza formula =TDATE() kwenye karatasi kwenye seli A1, ambayo inaonyesha tarehe na wakati - inapohesabiwa upya, yaliyomo yake yatasasishwa mbele ya macho yetu (washa tu onyesho la sekunde kwenye seli. muundo). Kwa kufurahisha zaidi, niliongeza pia kwa jumla amri ya kujaza seli A1 na rangi iliyochaguliwa nasibu (msimbo wa rangi ni nambari kamili katika safu 0..56, ambayo hutolewa na chaguo la kukokotoa. Rnd na huzungusha hadi kitendakazi kamili Int).

Macro NextRun inaongeza thamani iliyotangulia TimeToRun Sekunde 3 zaidi na kisha kupanga mwendo unaofuata wa macro kuu MyMacro kwa wakati huu mpya. Bila shaka, katika mazoezi, unaweza kutumia vipindi vingine vya muda unavyohitaji kwa kuweka hoja za kazi Thamani ya Muda katika umbizo hh:mm:ss.

Na hatimaye, kwa urahisi tu, macros zaidi ya uzinduzi wa mlolongo yameongezwa. Nyumbani na kukamilika kwake Kumaliza. Wa mwisho hutumia hoja ya njia ya nne kuvunja mlolongo. Kwa wakati sawa Uongo.

Jumla ikiwa unaendesha jumla Nyumbani, basi jukwa hili lote litazunguka, na tutaona picha ifuatayo kwenye karatasi:

Unaweza kusimamisha mlolongo kwa kukimbia, kwa mtiririko huo, macro Kumaliza. Kwa urahisi, unaweza kugawa njia za mkato za kibodi kwa macros zote mbili kwa kutumia amri Macros - Chaguzi tab developer (Msanidi - Macros - Chaguzi).

Kuendesha jumla kwa ratiba

Bila shaka, kila kitu kilichoelezwa hapo juu kinawezekana tu ikiwa una Microsoft Excel inayoendesha na faili yetu imefunguliwa ndani yake. Sasa hebu tuangalie kesi ngumu zaidi: unahitaji kukimbia Excel kulingana na ratiba iliyotolewa, kwa mfano, kila siku saa 5:00, fungua ripoti kubwa na ngumu ndani yake na usasishe miunganisho yote na maswali ndani yake ili iweze. kuwa tayari tunapofika kazini 🙂

Katika hali kama hiyo, ni bora kutumia Mpangilio wa Windows - programu iliyoundwa mahsusi katika toleo lolote la Windows ambalo linaweza kufanya vitendo maalum kwa ratiba. Kwa kweli, tayari unatumia bila kujua, kwa sababu PC yako huangalia mara kwa mara sasisho, kupakua hifadhidata mpya za kupambana na virusi, kusawazisha folda za wingu, nk Ni kazi yote ya Mratibu. Kwa hivyo kazi yetu ni kuongeza kwenye kazi zilizopo nyingine ambayo itazindua Excel na kufungua faili maalum ndani yake. Na tutapachika macro yetu kwenye hafla hiyo Kitabu cha Kazi_Fungua faili hii - na tatizo linatatuliwa.

Ninataka kukuonya mara moja kwamba kufanya kazi na Mratibu kunaweza kuhitaji haki za kina za mtumiaji, kwa hivyo ikiwa huwezi kupata amri na vitendaji vilivyofafanuliwa hapa chini kwenye kompyuta yako ya kazi ofisini, wasiliana na wataalamu wako wa TEHAMA kwa usaidizi.

Kuzindua Mratibu

Kwa hivyo wacha tuanze Mratibu. Ili kufanya hivyo, unaweza ama:

  • Bonyeza kulia kwenye kitufe Mwanzo na uchague Usimamizi wa Kompyuta (Usimamizi wa Kompyuta)
  • Chagua kwenye Paneli ya Kudhibiti: Utawala - Mratibu wa Kazi (Jopo la Kudhibiti - Vyombo vya Utawala - Mratibu wa Kazi)
  • Chagua kutoka kwa menyu kuu Anza - Vifaa - Vyombo vya Mfumo - Mratibu wa Kazi
  • Bonyeza mkato wa keyboard Kushinda+R, ingia workchd.msc na vyombo vya habari kuingia

The following window should appear on the screen (I have an English version, but you can also have a version):

Kuendesha macro kwa wakati

Unda kazi

Ili kuunda kazi mpya kwa kutumia mchawi rahisi wa hatua kwa hatua, bofya kiungo Unda kazi rahisi (Unda Kazi ya Msingi) kwenye paneli ya kulia.

Katika hatua ya kwanza ya mchawi, ingiza jina na maelezo ya kazi itakayoundwa:

Kuendesha macro kwa wakati

Bonyeza kifungo Inayofuata (Inayofuata) na katika hatua inayofuata tunachagua kichochezi - mzunguko wa uzinduzi au tukio ambalo litazindua kazi yetu (kwa mfano, kuwasha kompyuta):

Kuendesha macro kwa wakati

Ikiwa umechagua Daily (Kila siku), basi katika hatua inayofuata utahitaji kuchagua wakati maalum, tarehe ya kuanza ya mlolongo na hatua (kila siku ya 2, siku ya 5, nk):

Kuendesha macro kwa wakati

Hatua inayofuata ni kuchagua kitendo - Endesha programu (Anzisha programu):

Kuendesha macro kwa wakati

Na mwishowe, jambo la kufurahisha zaidi ni nini hasa kinahitaji kufunguliwa:

Kuendesha macro kwa wakati

Ndani ya Mpango au hati (Programu/hati) unahitaji kuingiza njia ya Microsoft Excel kama programu, yaani moja kwa moja kwa Excel inayoweza kutekelezwa. Kwenye kompyuta tofauti zilizo na matoleo tofauti ya Windows na Ofisi, faili hii inaweza kuwa katika folda tofauti, kwa hivyo hapa kuna njia chache za wewe kujua eneo lake:

  • Bonyeza kulia kwenye ikoni (njia ya mkato) ili kuzindua Excel kwenye eneo-kazi au kwenye upau wa kazi na uchague amri vifaa (Sifa), na kisha kwenye dirisha linalofungua, nakala ya njia kutoka kwa mstari Lengo:

    Kuendesha macro kwa wakati                      Kuendesha macro kwa wakati

  • Fungua kitabu chochote cha kazi cha Excel, kisha ufungue Task Meneja (Meneja Kazi) kusukuma Ctrl+Alt+Kutoka na kwa kubofya kulia kwenye mstari Microsoft Excel, chagua amri vifaa (Sifa). Katika dirisha linalofungua, unaweza kunakili njia, bila kusahau kuongeza backslash kwake na EXCEL.EXE mwishoni:

    Kuendesha macro kwa wakati              Kuendesha macro kwa wakati

  • Fungua Excel, fungua kihariri cha Visual Basic ukitumia njia ya mkato ya kibodi Alt+F11, paneli wazi Mara moja mchanganyiko wa Ctrl+G, ingiza amri ndani yake:

    ? Maombi.Njia

    ... na bonyeza kuingia

    Kuendesha macro kwa wakati

    Nakili njia inayotokana, bila kusahau kuongeza backslash kwake na EXCEL.EXE mwishoni.

Ndani ya Ongeza hoja (hiari) (Ongeza hoja (hiari)) unahitaji kuingiza njia kamili ya kitabu na macro ambayo tunataka kufungua.

Wakati kila kitu kinapoingia, kisha bofya Inayofuata na kisha Kumaliza (Maliza). Kazi inapaswa kuongezwa kwenye orodha ya jumla:

Kuendesha macro kwa wakati

Ni rahisi kusimamia kazi iliyoundwa kwa kutumia vifungo vya kulia. Hapa unaweza kujaribu kazi kwa kuiendesha mara moja (kimbia)bila kusubiri muda uliowekwa. Unaweza kulemaza kazi kwa muda (Lemaza)ili ikome kufanya kazi kwa muda, kama likizo yako. Kweli, unaweza kubadilisha kila wakati vigezo (tarehe, wakati, jina la faili) kupitia kitufe vifaa (Sifa).

Ongeza jumla ili kufungua faili

Sasa inabaki kunyongwa kwenye kitabu chetu uzinduzi wa macro tunayohitaji kwenye tukio la kufungua faili. Ili kufanya hivyo, fungua kitabu na uende kwa mhariri wa Visual Basic kwa kutumia njia ya mkato ya kibodi Alt+F11 au vifungo Visual Basic tab developer (Msanidi programu). Katika dirisha linalofungua kwenye kona ya juu kushoto, unahitaji kupata faili yetu kwenye mti na ubofye mara mbili ili kufungua moduli. Kitabu hiki (Kitabu hiki cha kazi).

Ikiwa huoni dirisha hili kwenye kihariri cha Visual Basic, basi unaweza kuifungua kupitia menyu Tazama - Kichunguzi cha Mradi.

Katika dirisha la sehemu inayofungua, ongeza kidhibiti cha tukio la kitabu kwa kukichagua kutoka kwenye orodha kunjuzi zilizo juu. Kitabu cha Kitabu и Open, mtawaliwa:

Kuendesha macro kwa wakati

Kiolezo cha utaratibu kinapaswa kuonekana kwenye skrini. Kitabu cha Kazi_Fungua, wapi kati ya mistari Sehemu ya Kibinafsi и Mwisho Sub na unahitaji kuingiza amri hizo za VBA ambazo zinapaswa kutekelezwa kiotomati wakati kitabu hiki cha kazi cha Excel kinafunguliwa, wakati Mratibu anapokifungua kulingana na ratiba. Hapa kuna chaguzi muhimu za overclocking:

  • Kitabu cha Kazi hiki.Onyesha upyaYote - Husasisha maswali yote ya data ya nje, hoja za Power Query, na PivotTables. Chaguo linalofaa zaidi. Usisahau tu kuruhusu miunganisho kwa data ya nje kwa chaguo-msingi na usasishe viungo kupitia Faili - Chaguzi - Kituo cha Kuaminika - Chaguzi za Kituo cha Uaminifu - Maudhui ya Nje, vinginevyo, unapofungua kitabu, onyo la kawaida litatokea na Excel, bila kusasisha chochote, itasubiri baraka yako kwa namna ya kubofya kifungo. Washa maudhui (Washa maudhui):

    Kuendesha macro kwa wakati

  • ActiveWorkbook.Connections("Connection_Name").Onyesha upya — kusasisha data kwenye muunganisho wa Connection_Name.
  • Laha (“Karatasi5").Majedwali ya Pivot("Jedwali la Pivot1«).PivotCache.Onyesha upya - kusasisha jedwali moja la egemeo linaloitwa Jedwali la Pivot1 kwenye karatasi Sheet5.
  • Maombi.Hesabu - kukokotoa upya vitabu vyote vya wazi vya Excel.
  • Maombi.HesabuKamiliJengaUpya - kukokotoa upya kwa lazima kwa fomula zote na kuunda upya vitegemezi vyote kati ya seli katika vitabu vyote vya kazi vilivyo wazi (sawa na kuweka upya fomula zote).
  • Laha za Kazi("Ripoti").Chapisha - karatasi ya kuchapisha pics.
  • Piga simu MyMacro - endesha macro yenye jina MyMacro.
  • Hiki Kitabu.Hifadhi - Hifadhi kitabu cha sasa
  • Vitabu vya Kazi hivi.HifadhiKama "D:Ripoti ya Jalada" & Badilisha (Sasa, ":","-") & ".xlsx" - Hifadhi kitabu kwenye folda D: Hifadhi chini ya jina pics na tarehe na saa zimeambatishwa kwa jina.

Ikiwa unataka macro itekelezwe tu wakati faili inafunguliwa na Mratibu saa 5:00 asubuhi, na sio kila wakati mtumiaji anafungua kitabu cha kazi wakati wa siku ya kazi, basi ni mantiki kuongeza ukaguzi wa wakati, kwa mfano:

Ikiwa Umbizo(Sasa, "hh:mm") = "05:00" Kisha Kitabu hiki cha Kazi.RefreshAll  

Ni hayo tu. Usisahau kuhifadhi kitabu chako cha kazi katika umbizo lililowezeshwa kwa jumla (xlsm au xlsb) na unaweza kufunga Excel kwa usalama na kwenda nyumbani, ukiacha kompyuta yako ikiwa imewashwa. Kwa wakati fulani (hata ikiwa PC imefungwa), Mratibu atazindua Excel na kufungua faili iliyoainishwa ndani yake, na macro yetu itafanya vitendo vilivyopangwa. Na utastarehe kitandani huku ripoti yako nzito ikihesabiwa upya kiotomatiki - urembo! 🙂

  • Macros ni nini, jinsi ya kuzitumia, wapi kuingiza msimbo wa Visual Basic katika Excel
  • Jinsi ya kuunda nyongeza yako ya jumla ya Excel
  • Jinsi ya kutumia Kitabu cha Kibinafsi cha Macro kama maktaba ya macros yako katika Excel

Acha Reply