Tmexxi makro fil-ħin

Każ komuni ħafna fil-prattika: għandek bżonn tmexxi waħda jew aktar mill-makros tiegħek f'ħin partikolari jew f'ċerta frekwenza. Pereżempju, għandek rapport kbir u tqil li jaġġorna nofs siegħa u tixtieq tmexxi l-aġġornament nofs siegħa qabel tasal fuq ix-xogħol filgħodu. Jew għandek makro li għandha awtomatikament tibgħat emails lill-impjegati bi frekwenza speċifikata. Jew, meta taħdem ma 'PivotTable, trid li taġġorna fuq il-fly kull 10 sekondi, eċċ.

Ejja nħarsu lejn liema Excel u Windows għandhom il-kapaċità li jimplimentaw dan.

Tmexxi makro fi frekwenza partikolari

L-eħfef mod biex tagħmel dan huwa li tuża l-metodu VBA integrat Applikazzjoni.OnTimeAn li jmexxi l-makro speċifikat fil-ħin speċifikat. Ejja nifhmu dan b'eżempju prattiku.

Iftaħ l-editur Visual Basic bil-buttuna tal-istess isem fuq it-tab iżviluppatur (Żviluppatur) jew shortcut tat-tastiera Alt+F11, daħħal modulu ġdid permezz tal-menu Daħħal – Modulu u kkopja l-kodiċi li ġej hemmhekk:

Dim TimeToRun 'varjabbli globali fejn jinħażen il-ħin tal-ġirja li jmiss 'din hija l-makro prinċipali Sub MyMacro() Application.Calculate' ikkalkula mill-ġdid il-ktieb Range("A1").Interior.ColorIndex = Int(Rnd() * 56) 'imla ċellola A1 b'kulur każwali :) Sejħa NextRun 'ħaddi l-makro NextRun biex tissettja l-ħin tal-ġirja li jmiss End Sub 'din il-makro tistabbilixxi l-ħin għall-ġirja li jmiss tal-makro prinċipali Sub NextRun() TimeToRun = Issa + TimeValue("00: 00:03") 'żid 3 sekondi mal-ħin attwali Application.OnTime TimeToRun, "MyMacro" 'iskeda l-ġirja li jmiss End Sub 'makro biex tibda s-sekwenza ripetuta Sub Start() Sejħa NextRun End Sub 'makro biex twaqqaf is-sekwenza ripetuta Sub Finish() Application.OnTime TimeToRun, "MyMacro", , False End Sub  

Ejja nsemmu x'inhu dak li hawn.

L-ewwel, neħtieġu varjabbli li se taħżen il-ħin tal-ġirja li jmiss tal-makro tagħna - sejħitha TimeToRun. Jekk jogħġbok innota li l-kontenut ta 'din il-varjabbli għandu jkun disponibbli għall-macros sussegwenti kollha tagħna, għalhekk irridu nagħmluha globali, jiġifieri tiddikjara fil-bidu nett tal-modulu qabel l-ewwel sotto.

Li jmiss jiġi makro prinċipali tagħna MyMacro, li se twettaq il-kompitu ewlieni - biex terġa 'tikkalkula l-ktieb bl-użu tal-metodu Applikazzjoni.Ikkalkula. Biex tagħmilha aktar ċara, żidt il-formula = TDATE () mal-folja fiċ-ċellula A1, li turi d-data u l-ħin - meta jiġi kkalkulat mill-ġdid, il-kontenut tiegħu se jiġi aġġornat eżatt quddiem għajnejna (biss ixgħel il-wiri ta 'sekondi fiċ-ċellula format). Għal gost żejjed, żidt ukoll mal-makro l-kmand biex timla ċ-ċellula A1 b'kulur magħżul b'mod każwali (il-kodiċi tal-kulur huwa numru sħiħ fil-medda 0..56, li hija ġġenerata mill-funzjoni Rnd u jqarreb sa funzjoni ta' numru sħiħ Int).

Macro NextRun iżid mal-valur preċedenti TimeToRun 3 sekondi oħra u mbagħad tiskeda l-ġirja li jmiss tal-makro prinċipali MyMacro għal dan iż-żmien ġdid. Naturalment, fil-prattika, tista 'tuża kwalunkwe intervalli ta' ħin ieħor li għandek bżonn billi tistabbilixxi l-argumenti tal-funzjoni TimeValue fil-format hh:mm:ss.

U fl-aħħarnett, biss għall-konvenjenza, ġew miżjuda aktar macros ta 'tnedija ta' sekwenza. home u t-tlestija tiegħu Finatura. L-aħħar wieħed juża l-argument tar-raba 'metodu biex jikser is-sekwenza. Fil-ħin ugwali False.

Totali jekk tmexxi l-makro home, allura dan il-karużell kollu jdur, u se naraw l-istampa li ġejja fuq il-folja:

Tista 'twaqqaf is-sekwenza billi tħaddem, rispettivament, il-makro Finatura. Għall-konvenjenza, tista 'tassenja shortcuts tat-tastiera għaż-żewġ macros billi tuża l-kmand Makros - Għażliet tab iżviluppatur (Iżviluppatur — Makros — Għażliet).

Tmexxi makro fuq skeda

Naturalment, dak kollu deskritt hawn fuq huwa possibbli biss jekk għandek Microsoft Excel taħdem u l-fajl tagħna jkun miftuħ fih. Issa ejja nħarsu lejn każ aktar ikkumplikat: għandek bżonn tħaddem Excel skont skeda partikolari, pereżempju, kuljum fil-5:00, tiftaħ rapport kbir u kumpless fih u taġġorna l-konnessjonijiet u l-mistoqsijiet kollha fiha sabiex tkun kun lest sa meta naslu fuq ix-xogħol 🙂

F'sitwazzjoni bħal din, huwa aħjar li tuża Windows Scheduler – programm mibni apposta fi kwalunkwe verżjoni tal-Windows li jista’ jwettaq azzjonijiet speċifikati fuq skeda. Fil-fatt, diġà qed tużah mingħajr ma tkun taf, għaliex il-PC tiegħek regolarment jiċċekkja għal aġġornamenti, tniżżel databases ġodda kontra l-virus, jissinkronizza folders tas-sħab, eċċ. Huwa x-xogħol kollu ta 'Skeduler. Allura l-kompitu tagħna huwa li nżidu mal-kompiti eżistenti waħda oħra li se tniedi Excel u tiftaħ il-fajl speċifikat fih. U aħna se hang makro tagħna fuq l-avveniment Ktieb tax-Xogħol_Miftuħ dan il-fajl - u l-problema tissolva.

Irrid inwissik mill-ewwel li l-ħidma ma' l-Iskedatur tista' teħtieġ drittijiet ta' utent avvanzati, allura jekk ma tistax issib il-kmandi u l-funzjonijiet deskritti hawn taħt fuq il-kompjuter tax-xogħol tiegħek fl-uffiċċju, ikkuntattja lill-ispeċjalisti tal-IT tiegħek għall-għajnuna.

Tnedija ta' Scheduler

Mela ejja nibdew l-Iskeduler. Biex tagħmel dan, tista' jew:

  • Ikklikkja bil-lemin fuq il-buttuna bidu u agħżel Ġestjoni tal-Kompjuter (Ġestjoni tal-kompjuter)
  • Agħżel fil-Panew tal-Kontroll: Amministrazzjoni – Task Scheduler (Panew tal-Kontroll — Għodod Amministrattivi — Task Scheduler)
  • Agħżel mill-menu prinċipali Bidu - Aċċessorji - Għodod tas-Sistema - Task Scheduler
  • Agħfas il-buttuna tal-keyboard Win+R, daħħal taskschd. msc u l-istampa Ikteb

It-tieqa li ġejja għandha tidher fuq l-iskrin (għandi verżjoni bl-Ingliż, imma jista' jkollok verżjoni wkoll):

Tmexxi makro fil-ħin

Oħloq kompitu

Biex toħloq kompitu ġdid billi tuża wizard sempliċi pass pass, ikklikkja fuq il-link Oħloq kompitu sempliċi (Oħloq Kompitu Bażiku) fil-pannell tal-lemin.

Fl-ewwel pass tal-wizard, daħħal l-isem u d-deskrizzjoni tal-kompitu li trid tinħoloq:

Tmexxi makro fil-ħin

Ikklikkja fuq il-buttuna Li jmiss (Li jmiss) u fil-pass li jmiss nagħżlu grillu - il-frekwenza tat-tnedija jew avveniment li se jniedi l-kompitu tagħna (per eżempju, ixgħel il-kompjuter):

Tmexxi makro fil-ħin

Jekk għażilt Kuljum (Kuljum), imbagħad fil-pass li jmiss ikollok bżonn tagħżel ħin speċifiku, data tal-bidu tas-sekwenza u pass (kull jum 2, 5 jum, eċċ.):

Tmexxi makro fil-ħin

Il-pass li jmiss huwa li tagħżel azzjoni - Mexxi l-programm (Ibda programm):

Tmexxi makro fil-ħin

U fl-aħħarnett, l-iktar ħaġa interessanti hija x'hemm bżonn eżattament li jinfetaħ:

Tmexxi makro fil-ħin

Fil- Programm jew kitba (Programm/kitba) trid tidħol fit-triq għal Microsoft Excel bħala programm, jiġifieri direttament għall-eżekutibbli Excel. Fuq kompjuters differenti b'verżjonijiet differenti tal-Windows u l-Uffiċċju, dan il-fajl jista' jkun f'folders differenti, għalhekk hawn ftit modi biex issib il-post tiegħu:

  • Ikklikkja bil-lemin fuq l-ikona (shortcut) biex tniedi Excel fuq id-desktop jew fit-taskbar u agħżel il-kmand materjali (Proprjetajiet), u mbagħad fit-tieqa li tiftaħ, kopja l-mogħdija mil-linja Mira:

    Tmexxi makro fil-ħin                      Tmexxi makro fil-ħin

  • Iftaħ kwalunkwe ktieb tax-xogħol Excel, imbagħad iftaħ Task Manager (Task Manager) imbuttar Ctrl+Alt+mill u billi tikklikkja bil-lemin fuq il-linja Microsoft Excel, agħżel kmand materjali (Proprjetajiet). Fit-tieqa li tiftaħ, tista 'tikkopja t-triq, ma ninsewx li żżid backslash miegħu u EXCEL.EXE fl-aħħar:

    Tmexxi makro fil-ħin              Tmexxi makro fil-ħin

  • Iftaħ Excel, tiftaħ editur Visual Basic bi shortcut tat-tastiera Alt+F11, pannell miftuħ immedjat kombinazzjoni ta ' Ctrl+G, daħħal il-kmand fih:

    ? Applikazzjoni.Path

    … u kklikkja fuq Ikteb

    Tmexxi makro fil-ħin

    Ikkopja t-triq li tirriżulta, ma ninsewx li żżid backslash miegħu u EXCEL.EXE fl-aħħar.

Fil- Żid argumenti (mhux obbligatorju) (Żid argumenti (mhux obbligatorju)) għandek bżonn daħħal il-mogħdija sħiħa għall-ktieb bil-makro li rridu niftħu.

Meta kollox jiddaħħal, imbagħad ikklikkja Li jmiss u mbagħad Finatura (Tlesti). Il-kompitu għandu jiżdied mal-lista ġenerali:

Tmexxi makro fil-ħin

Huwa konvenjenti li timmaniġġja l-kompitu maħluqa bl-użu tal-buttuni fuq il-lemin. Hawnhekk tista 'tittestja l-kompitu billi tħaddem immedjatament (ġiri)mingħajr ma tistenna l-ħin speċifikat. Tista' temporanjament tiddiżattiva kompitu (Itfi)sabiex tieqaf taħdem għal perjodu ta 'żmien, bħall-vaganza tiegħek. Ukoll, tista 'dejjem tibdel il-parametri (dati, ħin, isem tal-fajl) permezz tal-buttuna materjali (Proprjetajiet).

Żid makro biex tiftaħ fajl

Issa jibqa 'li hang fil-ktieb tagħna t-tnedija tal-makro li għandna bżonn fuq l-avveniment miftuħ tal-fajl. Biex tagħmel dan, iftaħ il-ktieb u mur l-editur Visual Basic billi tuża l-shortcut tat-tastiera Alt+F11 jew buttuni Visual Basic tab iżviluppatur (Żviluppatur). Fit-tieqa li tiftaħ fir-rokna ta 'fuq tax-xellug, għandek bżonn issib il-fajl tagħna fuq is-siġra u ikklikkja darbtejn biex tiftaħ il-modulu Dan il-ktieb (Dan il-Ktieb tax-Xogħol).

Jekk ma tarax din it-tieqa fl-editur Visual Basic, allura tista 'tiftaħ permezz tal-menu Ara — Esploratur tal-Proġett.

Fit-tieqa tal-modulu li tiftaħ, żid handler tal-avvenimenti miftuħ tal-ktieb billi tagħżelha mil-listi drop-down fil-quċċata Workbook и miftuħa, rispettivament:

Tmexxi makro fil-ħin

Għandu jidher mudell ta' proċedura fuq l-iskrin. Ktieb tax-Xogħol_Miftuħ, fejn bejn il-linji Privat Sub и Tmiem Sub u għandek bżonn daħħal dawk il-kmandi VBA li għandhom jiġu eżegwiti awtomatikament meta jinfetaħ dan il-ktieb tax-xogħol Excel, meta l-Iskedatur jiftaħ skont l-iskeda. Hawn huma xi għażliet utli għall-overclocking:

  • Dan il-Ktieb tax-Xogħol.RefreshAll – Aġġorna l-mistoqsijiet esterni kollha tad-dejta, il-mistoqsijiet dwar il-Power Query, u PivotTables. L-iktar għażla versatili. Tinsiex li tippermetti konnessjonijiet għal data esterna b'mod awtomatiku u taġġorna links permezz Fajl – Għażliet – Ċentru ta’ Fiduċja – Għażliet taċ-Ċentru ta’ Fiduċja – Kontenut Estern, inkella, meta tiftaħ il-ktieb, tidher twissija standard u Excel, mingħajr ma jaġġorna xejn, jistenna l-barka tiegħek fil-forma li tikklikkja fuq il-buttuna Ippermetti l-kontenut (Attiva l-kontenut):

    Tmexxi makro fil-ħin

  • ActiveWorkbook.Connections(“Isem_Konnessjoni”). Aġġorna — aġġornament tad-dejta dwar il-konnessjoni Connection_Name.
  • Folji ("Sheet5“).PivotTables(“PivotTable1«).PivotCache.Aġġorna – aġġornament ta' tabella pivot waħda msemmija Tabella Pivot1 fuq il-folja Sheet5.
  • Applikazzjoni.Ikkalkula – kalkolu mill-ġdid tal-kotba tax-xogħol Excel miftuħa kollha.
  • Applikazzjoni.CalculateFullRebuild – kalkolu mill-ġdid sfurzat tal-formuli kollha u bini mill-ġdid tad-dipendenzi kollha bejn iċ-ċelloli fil-kotba tax-xogħol miftuħa kollha (ekwivalenti għal dħul mill-ġdid tal-formuli kollha).
  • Worksheets(“Rapport”).PrintOut – folja tal-istampar PICS.
  • Ċempel MyMacro – mexxi makro jismu MyMacro.
  • Dan il-Ktieb tax-Xogħol – issalva l-ktieb kurrenti
  • ThisWorkbooks.SaveAs “D:ArchiveReport” & Ibdel(Issa, “:”, “-“) & “.xlsx” – issalva l-ktieb f'folder D:Arkivju taħt l-isem PICS bid-data u l-ħin mehmuża mal-isem.

Jekk trid li l-makro jiġi eżegwit biss meta l-fajl jinfetaħ mill-Iskedatur fil-5:00 am, u mhux kull darba li l-utent jiftaħ il-ktieb tax-xogħol matul il-ġurnata tax-xogħol, allura jagħmel sens li żżid kontroll tal-ħin, pereżempju:

Jekk Format(Issa, "hh:mm") = "05:00" Imbagħad ThisWorkbook.RefreshAll  

Dak kollox. Tinsiex issalva l-ktieb tax-xogħol tiegħek f'format makro-ppermettiet (xlsm jew xlsb) u tista' tagħlaq Excel b'mod sikur u tmur id-dar, filwaqt li tħalli l-kompjuter tiegħek mixgħul. F'mument partikolari (anki jekk il-PC ikun imsakkar), l-Iskeduler se jniedi Excel u jiftaħ il-fajl speċifikat fih, u l-makro tagħna se jwettaq l-azzjonijiet programmati. U int se tieħu pjaċir fis-sodda filwaqt li r-rapport tqil tiegħek jiġi kkalkulat mill-ġdid awtomatikament - sbuħija! 🙂

  • X'inhuma macros, kif tużahom, fejn tiddaħħal il-kodiċi Visual Basic f'Excel
  • Kif toħloq il-makro add-in tiegħek għal Excel
  • Kif tuża l-Ktieb tax-Xogħol tal-Makro Personali bħala librerija għall-macros tiegħek f'Excel

Ħalli Irrispondi