Mandeha macro ara-potoana

Tranga tena mahazatra amin'ny fampiharana: mila mihazakazaka iray na maromaro amin'ny macros ianao amin'ny fotoana iray na amin'ny matetika. Ohatra, manana tatitra lehibe sy mavesatra ianao izay manavao antsasak'adiny ary tianao ny hanatanteraka ny fanavaozana antsasak'adiny alohan'ny hahatongavanao any am-piasana ny maraina. Na manana macro ianao izay tokony handefa mailaka ho azy amin'ny mpiasa amin'ny fotoana voafaritra. Na koa, rehefa miasa miaraka amin'ny PivotTable ianao dia tianao ny havaozina amin'ny sidina isaky ny 10 segondra, sy ny sisa.

Andeha hojerentsika hoe inona no ananan'ny Excel sy Windows afaka mampihatra izany.

Mandeha macro amin'ny frequence nomena

Ny fomba tsotra indrindra hanaovana izany dia ny fampiasana ny fomba VBA naorina Application.OnTimeIzay mampandeha ny macro voafaritra amin'ny fotoana voafaritra. Andeha hojerentsika izany amin'ny ohatra azo ampiharina.

Sokafy ny tonian-dahatsoratra Visual Basic miaraka amin'ny bokotra mitovy anarana eo amin'ny tabilao Developer (mpamorona) na hitsin-dàlana fitendry Alt+F11, ampidiro module vaovao amin'ny alalan'ny menu Ampidiro - Module ary kopia ity code manaraka ity any:

Dim TimeToRun 'fanovana maneran-tany izay misy ny fotoana fampandehanana manaraka 'ity no macro lehibe Sub MyMacro() Application.Calculate 'recalculate the book Range("A1").Interior.ColorIndex = Int(Rnd() * 56) 'fill cell A1 miaraka amin'ny loko kisendrasendra :) Antsoy ny NextRun 'mitantana ny macro NextRun mba hametrahana ny fotoana fandehanana manaraka End Sub' ity macro ity dia mametraka ny fotoana ho an'ny fampandehanana manaraka ny macro lehibe Sub NextRun() TimeToRun = Now + TimeValue("00: 00:03") 'Ampio 3 segondra amin'ny fotoana ankehitriny Application.OnTime TimeToRun, "MyMacro" 'mandahatra ny fandehanana manaraka End Sub 'macro hanombohana ny filaharana miverimberina Sub Start() Call NextRun End Sub' macro hampitsahatra ny filaharana miverimberina. Sub Finish() Application.OnTime TimeToRun, "MyMacro", , False End Sub  

Andeha hojerentsika hoe inona no eto.

Voalohany, mila varimbazaha isika izay hitahiry ny fotoanan'ny hazakazaka manaraka amin'ny macro - niantso azy aho TimeToRun. Mariho fa ny votoatin'ity fari-pahalalana ity dia tokony ho azon'ny macros rehetra manaraka, noho izany dia mila manao izany isika. maneran-, izany hoe manambara amin'ny fiandohan'ny module alohan'ny voalohany Sub.

Manaraka izany dia tonga ny macro lehibentsika MyMacro, izay hanao ny asa lehibe indrindra - ny recalculate ny boky mampiasa ny fomba Fampiharana.Kajy. Mba hanazavana kokoa azy dia nampiako ny formula = TDATE() amin'ny takelaka ao amin'ny sela A1, izay mampiseho ny daty sy ny ora - rehefa averina kajy, dia havaozina eo imasontsika ny ao anatiny (avereno fotsiny ny fampisehoana segondra ao amin'ny sela. endrika). Ho an'ny fialam-boly fanampiny dia nampiako tao amin'ny macro ihany koa ny baiko hamenoana ny cell A1 miaraka amin'ny loko voafantina kisendrasendra (ny code loko dia integer amin'ny 0..56, izay novokarin'ny asa. Rnd ary mihodina mankany amin'ny asa integer Int).

macro NextRun manampy ny sanda teo aloha TimeToRun 3 segondra fanampiny ary avy eo dia mandamina ny fandehanana manaraka amin'ny macro lehibe MyMacro ho an'ity fotoana vaovao ity. Mazava ho azy, amin'ny fampiharana, azonao atao ny mampiasa ny elanelan'ny fotoana hafa ilainao amin'ny fametrahana ny tohan-kevitry ny asa TimeValue amin'ny endrika hh:mm:ss.

Ary farany, ho an'ny fanamorana fotsiny, dia nampiana macros fanombohana maromaro kokoa. Home sy ny fahavitany farany. Ny farany dia mampiasa ny fomba fahaefatra tohan-kevitra hanapaka ny filaharana. Ara-potoana mitovy Diso.

Total raha mihazakazaka ny macro ianao Home, dia hihodina ity carousel ity, ary ho hitantsika eo amin'ny takelaka ity sary manaraka ity:

Azonao atao ny manakana ny filaharana amin'ny alàlan'ny fampandehanana ny macro farany. Ho fanamorana dia azonao atao ny manendry hitsin-dàlana amin'ny fitendry ho an'ny macro roa mampiasa ny baiko Macro - Safidy vakizoro Developer (Developer — Macros — Options).

Mandeha macro amin'ny fandaharam-potoana

Mazava ho azy fa ny zavatra rehetra voalaza etsy ambony dia tsy azo atao raha tsy manana Microsoft Excel ianao ary misokatra ao ny rakitray. Andeha hojerentsika ny tranga sarotra kokoa: mila mihazakazaka Excel araka ny fandaharam-potoana nomena ianao, ohatra, isan'andro amin'ny 5:00, sokafy ny tatitra lehibe sy saro-takarina ao ary manavao ny fifandraisana rehetra sy ny fanontaniana ao anatiny mba hijerena azy. miomàna amin'ny fotoana hahatongavana any am-piasana 🙂

Amin'ny toe-javatra toy izany dia tsara kokoa ny mampiasa Windows Scheduler - programa natsangana manokana amin'ny dikan-Windows rehetra afaka manao hetsika voafaritra amin'ny fandaharam-potoana. Raha ny marina dia efa mampiasa azy ianao nefa tsy fantatrao, satria ny PC-nao dia manara-maso tsy tapaka ny fanavaozam-baovao, misintona angon-drakitra anti-virus vaovao, mampifanaraka ny lahatahiry rahona, sns. Asa daholo ny Scheduler. Noho izany ny andraikitsika dia ny manampy amin'ny asa efa misy iray hafa izay hanomboka Excel ary hanokatra ny rakitra voatondro ao anatiny. Ary hanantona ny macro amin'ny hetsika izahay Workbook_Open ity rakitra ity - ary voavaha ny olana.

Te-hampitandrina anao avy hatrany aho fa ny fiaraha-miasa amin'ny Scheduler dia mety mitaky zon'ny mpampiasa mandroso, ka raha tsy hitanao ny baiko sy ny fiasa voalaza etsy ambany amin'ny solosainao miasa ao amin'ny birao, mifandraisa amin'ny manam-pahaizana momba ny IT anao mba hahazoana fanampiana.

Manokatra ny Scheduler

Koa andao hanomboka ny Scheduler. Mba hanaovana izany dia azonao atao ny:

  • Tsindrio havanana amin'ny bokotra Start ary misafidy Computer Management (Fitantanana informatika)
  • Select ao amin'ny Control Panel: Fitantanana - Mpandrindra asa (Control Panel - Fitantanana fitantanan-draharaha - Mpandrindra asa)
  • Fidio avy amin'ny sakafo fototra Manomboka - Accessories - System Tools - Task scheduler
  • Tsindrio ny bokotra keyboard Win+R, miditra sitran.msc sy ny asa fanaovan-gazety Midira

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

Mandeha macro ara-potoana

Mamorona asa

Raha te hamorona asa vaovao amin'ny alàlan'ny wizard tsotra dia tsindrio ny rohy Mamorona asa tsotra (Mamorona asa fototra) eo amin'ny tontonana havanana.

Amin'ny dingana voalohany amin'ny wizard, ampidiro ny anarana sy ny famaritana ny asa hoforonina:

Mandeha macro ara-potoana

Tsindrio ny bokotra Manaraka (Manaraka) ary amin'ny dingana manaraka dia misafidy trigger isika - ny faharetan'ny fanombohana na hetsika iray izay hanomboka ny asantsika (ohatra, mamelona ny solosaina):

Mandeha macro ara-potoana

Raha nisafidy ianao Daily (Isan'andro), avy eo amin'ny dingana manaraka dia mila misafidy fotoana manokana ianao, daty fanombohana ny filaharana ary dingana (isaky ny andro faha-2, andro faha-5, sns.):

Mandeha macro ara-potoana

Ny dingana manaraka dia ny fisafidianana hetsika - Alefaso ny programa (Manomboka programa):

Mandeha macro ara-potoana

Ary farany, ny tena mahaliana indrindra dia ny tokony hosokafana:

Mandeha macro ara-potoana

ao amin'ny Programa na script (Programa/script) mila miditra amin'ny lalana mankany amin'ny Microsoft Excel ianao ho programa, izany hoe mivantana amin'ny Excel executable. Amin'ny solosaina samihafa manana dikan-teny Windows sy Office samihafa, ity rakitra ity dia mety ho ao anaty lahatahiry samihafa, ka ireto misy fomba vitsivitsy hahitanao ny toerana misy azy:

  • Tsindrio havanana amin'ny kisary (shortcut) hanombohana Excel eo amin'ny desktop na ao amin'ny fikandrana ary safidio ny baiko Akora (Properties), ary avy eo ao amin'ny varavarankely misokatra, kopia ny lalana avy amin'ny tsipika Target:

    Mandeha macro ara-potoana                      Mandeha macro ara-potoana

  • Sokafy izay boky fiasana Excel, dia sokafy Task Manager (Task Manager) manosika Ctrl+Alt+From ary amin'ny fipihana havanana amin'ny tsipika Microsoft Excel, mifidiana baiko Akora (Properties). Ao amin'ny varavarankely misokatra, azonao atao ny mandika ny lalana, aza adino ny manisy backslash aminy ary EXCEL.EXE amin'ny farany:

    Mandeha macro ara-potoana              Mandeha macro ara-potoana

  • Sokafy Excel, sokafy ny tonian-dahatsoratry ny Visual Basic miaraka amin'ny hitsin-dàlana Alt+F11, tontonana misokatra avy hatrany fitambaran'ny Ctrl+G, ampidiro ao ny baiko:

    ? Application.Path

    … ary tsindrio eo Midira

    Mandeha macro ara-potoana

    Adikao ny lalana azo, aza adino ny manisy backslash aminy ary EXCEL.EXE amin'ny farany.

ao amin'ny Ampio hevitra (fakan-kevitra) (Ampio hevitra (tsy voatery)) mila ampidirinao ny lalana feno mankany amin'ny boky miaraka amin'ny macro izay tiantsika hosokafana.

Rehefa tafiditra ny zava-drehetra dia tsindrio Manaraka ary avy eo farany (Vita). Tokony ampidirina amin'ny lisitra ankapobeny ny asa:

Mandeha macro ara-potoana

Tsara ny mitantana ny asa noforonina amin'ny fampiasana ny bokotra eo ankavanana. Eto ianao dia afaka manandrana ny asa amin'ny fampandehanana azy avy hatrany (mihazakazaka)tsy miandry ny fotoana voatondro. Azonao atao ny mamono vonjimaika asa iray (Esory)mba hijanonana mandritra ny fotoana maharitra, toy ny fialan-tsasatrao. Eny, azonao atao ny manova ny masontsivana (daty, ora, anaran-drakitra) amin'ny alàlan'ny bokotra Akora (Properties).

Manampia macro hanokafana rakitra

Ankehitriny dia mijanona ao amin'ny bokintsika ny fandefasana ny macro ilaintsika amin'ny hetsika misokatra rakitra. Mba hanaovana izany, sokafy ny boky ary mankanesa any amin'ny tonian-dahatsoratra Visual Basic amin'ny fampiasana ny hitsin-dàlana Alt+F11 na bokotra Visual Basic vakizoro Developer (mpamorona). Ao amin'ny varavarankely misokatra amin'ny zoro ambony havia, mila mahita ny rakitray eo amin'ny hazo ianao ary tsindrio indroa hanokatra ny module Ity boky ity (Ity Bokikely).

Raha tsy hitanao ao amin'ny tonian-dahatsoratra Visual Basic io varavarankely io, dia azonao atao ny manokatra azy amin'ny alàlan'ny menio Jereo - Project Explorer.

Ao amin'ny varavarankelin'ny môdely misokatra, ampio mpandrindra hetsika misokatra amin'ny alàlan'ny fisafidianana azy amin'ny lisitry ny midina eo ambony. soratana sy asiana marika и Open, tsirairay:

Mandeha macro ara-potoana

Tokony hiseho eo amin'ny efijery ny môdelin'ny fomba fiasa. Workbook_Open, aiza eo anelanelan'ny tsipika Sub и End Sub ary mila ampidirinao ireo baiko VBA izay tokony hotanterahina ho azy rehefa misokatra ity workbook Excel ity, rehefa manokatra izany ny Scheduler araka ny fandaharam-potoana. Ireto misy safidy mahasoa ho an'ny overclocking:

  • ThisWorkbook.RefreshAll - Mamelombelona ny angona ivelany rehetra, ny fangatahana Power Query, ary ny PivotTables. Ny safidy maro samihafa. Aza hadino fotsiny ny mamela ny fifandraisana amin'ny angona ivelany amin'ny alàlan'ny default ary manavao ny rohy amin'ny alàlan'ny File – Options – Trust Center – Trust Center Options – Votoaty ivelany, raha tsy izany, rehefa manokatra ny boky ianao dia hiseho ny fampitandremana mahazatra ary Excel, tsy misy fanavaozana na inona na inona, dia hiandry ny tsodranonao amin'ny endrika fipihana ny bokotra. Alefaso ny atiny (Alefaso ny atiny):

    Mandeha macro ara-potoana

  • ActiveWorkbook.Connections("Connection_Name").Refresh - fanavaozana data momba ny fifandraisana Connection_Name.
  • Taratasy (“Taratasy 5").PivotTables("PivotTable1«).PivotCache.Refresh – fanavaozana tabilao pivot tokana nomena anarana PivotTable1 amin'ny takelaka Takelaka5.
  • Fampiharana.Kajy - kajy indray ny boky fiasana Excel misokatra rehetra.
  • Application.CalculateFullRebuild - fanerena kajy ny formulaire rehetra sy ny fanamboarana ny fiankinan-doha rehetra eo amin'ny sela ao amin'ny bokikely misokatra rehetra (mitovy amin'ny fampidirana indray ny formulaire rehetra).
  • Taratasy (“Report”).PrintOut - taratasy fanontana Photos.
  • Antsoy ny MyMacro – mitantana macro iray antsoina hoe MyMacro.
  • Ity Workbook.Save – tehirizo ny boky ankehitriny
  • ThisWorkbooks.SaveAs “D:ArchiveReport” & Soloy(Ankehitriny, “:”, “-“) & “.xlsx” – tehirizo ao anaty lahatahiry ny boky D: Archive ambanin'ny anarana Photos miaraka amin'ny daty sy ora ampiana amin'ny anarana.

Raha tianao hotanterahina ny macro raha tsy nosokafan'ny Scheduler amin'ny 5:00 maraina ny rakitra, fa tsy isaky ny manokatra ny bokikely mandritra ny andro fiasana ny mpampiasa, dia misy dikany ny manampy fanamarinana fotoana, ohatra:

Raha Format(Ankehitriny, "hh:mm") = "05:00" dia ItyWorkbook.RefreshAll  

Izay ihany. Aza adino ny mitahiry ny bokinao amin'ny endrika macro-enabled (xlsm na xlsb) ary afaka manidy soa aman-tsara ny Excel ianao ary mody, mamela ny solosainao. Amin'ny fotoana iray (na dia mihidy aza ny PC), dia hanomboka Excel ny Scheduler ary hanokatra ny rakitra voatondro ao anatiny, ary ny macro dia hanao ireo hetsika voarindra. Ary ho rendrarendra eo am-pandriana ianao raha toa ka kajy ho azy ny tatitra mavesatrao - hatsarana! 🙂

  • Inona ny macros, ny fomba fampiasana azy, ny toerana hampidirana ny code Visual Basic amin'ny Excel
  • Ahoana ny fomba hamoronana macro add-in ho an'ny Excel
  • Ahoana ny fampiasana ny Bokin'ny Macro Personal ho toy ny tranomboky ho an'ny macros ao amin'ny Excel

Leave a Reply