Giunsa paghimo ang imong kaugalingon nga add-in alang sa Microsoft Excel

Bisan kung dili ka mahibal-an kung giunsa ang pagprograma, adunay daghang mga lugar (mga libro, website, forum) diin makit-an nimo ang andam nga VBA macro code alang sa daghang mga tipikal nga buluhaton sa Excel. Sa akong kasinatian, kadaghanan sa mga tiggamit sa madugay o sa madali mangolekta sa ilang personal nga koleksyon sa mga macro aron ma-automate ang naandan nga mga proseso, bisan kung kini paghubad sa mga pormula ngadto sa mga kantidad, pagpakita sa mga sums sa mga pulong, o pag-summing sa mga cell pinaagi sa kolor. Ug dinhi mitungha ang problema - ang macro code sa Visual Basic kinahanglan nga tipigan sa usa ka dapit aron magamit sa ulahi sa trabaho.

Ang labing kadali nga kapilian mao ang pag-save sa macro code direkta sa nagtrabaho nga file pinaagi sa pag-adto sa Visual Basic editor gamit ang keyboard shortcut alt+F11 ug pagdugang og bag-ong walay sulod nga module pinaagi sa menu Isulod – Module:

Bisan pa, adunay daghang mga disbentaha sa kini nga pamaagi:

  • Kung adunay daghang nagtrabaho nga mga file, ug gikinahanglan ang usa ka macro bisan asa, sama sa usa ka macro alang sa pag-convert sa mga pormula ngadto sa mga kantidad, nan kinahanglan nimo nga kopyahon ang code sa matag libro.
  • Kinahanglang dili makalimtan save file sa macro-enabled nga format (xlsm) o sa binary book nga format (xlsb).
  • Kung giablihan ang ingon nga file proteksyon sa macro sa matag higayon nga mag-isyu sa usa ka pasidaan nga kinahanglan nga ilhon (maayo, o pag-disable sa hingpit nga proteksyon, nga dili kanunay nga gusto).

Ang usa ka mas elegante nga solusyon mao ang paghimo imong kaugalingong add-in (Excel Add-in) - usa ka bulag nga file sa usa ka espesyal nga format (xlam) nga adunay tanan nimong "paborito" nga mga macro. Ang mga bentaha niini nga pamaagi:

  • Kini igo na ikonektar ang add-on kausa sa Excel - ug mahimo nimong gamiton ang mga pamaagi ug function sa VBA niini sa bisan unsang file niini nga computer. Ang pag-usab sa imong nagtrabaho nga mga file sa xlsm- ug xlsb-format, sa ingon, dili kinahanglan, tungod kay. ang source code dili tipigan diha kanila, apan sa add-in file.
  • Protection dili ka usab mahasol sa mga macro. Ang mga add-on, pinaagi sa kahulugan, kasaligan nga mga gigikanan.
  • Mahimo bulag nga tab sa Excel ribbon nga adunay nindot nga mga buton aron makadagan ang mga add-in nga macros.
  • Ang add-in kay lahi nga file. Iyang dali madala gikan sa kompyuter ngadto sa kompyuter, ipaambit kini sa mga kauban o bisan ibaligya kini 😉

Atong lakaw ang tibuok proseso sa paghimo sa imong kaugalingon nga Microsoft Excel add-in nga lakang sa lakang.

Lakang 1. Paghimo og add-in nga file

Ablihi ang Microsoft Excel gamit ang blangko nga workbook ug i-save kini ubos sa bisan unsang angay nga ngalan (pananglitan MyExcelAddin) sa add-in nga format nga adunay command File - I-save Ingon o mga yawe F12, nga nagpiho sa tipo sa file Pagdugang sa Excel:

Palihug timan-i nga pinaagi sa default ang Excel nagtipig og mga add-in sa C:UsersYour_nameAppDataRoamingMicrosoftAddIns folder, apan, sa prinsipyo, mahimo nimong ipiho ang bisan unsang laing folder nga kombenyente alang kanimo.

Lakang 2. Gikonektar namo ang gibuhat nga add-in

Karon ang add-in nga among gibuhat sa katapusang lakang MyExcelAddin kinahanglan nga konektado sa Excel. Aron mahimo kini, adto sa menu File - Mga Opsyon - Mga Add-on (File — Mga Opsyon — Mga Add-In), i-klik ang buton Mga (Lakaw) sa ubos sa bintana. Sa bintana nga nagbukas, i-klik ang buton Review (Pag-browse) ug ipiho ang lokasyon sa among add-in file.

Kung gibuhat nimo ang tanan nga husto, nan ang among MyExcelAddin kinahanglan nga makita sa lista sa magamit nga mga add-on:

Lakang 3. Idugang ang mga macro sa add-in

Ang among add-in konektado sa Excel ug malampuson nga nagtrabaho, apan wala pa usa ka macro niini. Pun-an ta. Aron mahimo kini, ablihi ang Visual Basic editor gamit ang keyboard shortcut alt+F11 o pinaagi sa buton visual Basic tab developer (Developer). Kung tabs developer dili makita, kini mahimong ipakita pinaagi sa File - Mga Opsyon - Pag-setup sa Ribbon (File — Mga Opsyon — Ipasibo ang Ribbon).

Kinahanglan adunay usa ka bintana sa ibabaw nga wala nga suok sa editor Project (kung dili kini makita, dayon i-on kini pinaagi sa menu Tan-awa - Project Explorer):

Kini nga bintana nagpakita sa tanan nga bukas nga mga workbook ug nagpadagan sa Microsoft Excel nga mga add-in, lakip ang atoa. VBAProject (MyExcelAddin.xlam) Pilia kini gamit ang mouse ug idugang ang bag-ong module niini pinaagi sa menu Isulod – Module. Niini nga module, atong tipigan ang VBA code sa atong add-in macros.

Mahimo nimong i-type ang code gikan sa wala (kung nahibal-an nimo kung giunsa ang pagprograma), o kopyahon kini gikan sa usa ka lugar nga andam na (nga labi ka dali). Atong, alang sa pagsulay, isulod ang code sa usa ka yano apan mapuslanon nga macro ngadto sa gidugang nga walay sulod nga module:

Human sa pagsulod sa code, ayaw kalimot sa pag-klik sa save button (disket) sa ibabaw nga wala nga suok.

Ang among macro FormulasToValues, ingon sa dali nimong mahanduraw, nagbag-o sa mga pormula sa mga kantidad sa usa ka gipili nga sakup. Usahay kini nga mga macro gitawag usab mga pamaagi. Aron makadagan kini, kinahanglan nimo nga pilion ang mga cell nga adunay mga pormula ug ablihan ang usa ka espesyal nga kahon sa diyalogo Macros gikan sa tab developer (Developer - Macros) o keyboard shortcut alt+F8. Kasagaran, kini nga bintana nagpakita nga magamit nga mga macro gikan sa tanan nga bukas nga mga workbook, apan ang mga add-in nga macro dili makita dinhi. Bisan pa niini, mahimo natong isulod ang ngalan sa atong pamaagi sa field macro nga ngalan (Macro nga ngalan)ug dayon i-klik ang buton run (dagan) - ug ang among macro molihok:

    

Dinhi mahimo ka usab mag-assign sa usa ka shortcut sa keyboard aron dali nga maglansad sa usa ka macro - ang buton ang responsable niini lantugi (Mga Opsyon) sa miaging bintana Macro:

Sa pag-assign sa mga yawe, hinumdomi nga kini sensitibo sa kaso ug sensitibo sa layout sa keyboard. Mao nga kung mag-assign ka usa ka kombinasyon sama Ctrl+Й, unya, sa tinuud, sa umaabot kinahanglan nimo nga sigurohon nga imong gi-on ang layout ug gipadayon ang dugang pagbalhinpara makuha ang capital letter.

Alang sa kasayon, mahimo usab namon nga idugang ang usa ka buton alang sa among macro sa dali nga pag-access toolbar sa taas nga wala nga suok sa bintana. Aron mahimo kini, pilia File – Mga Opsyon – Dali nga Access Toolbar (File — Opsyon — Ipasibo ang Quick Access Toolbar), ug dayon sa drop-down list sa ibabaw sa bintana ang opsyon Macros. Pagkahuman sa among macro FormulasToValues mahimong ibutang sa panel gamit ang buton Idugang (Idugang) ug pagpili og icon alang niini gamit ang buton Kausaban (I-edit):

Lakang 4. Idugang ang mga gimbuhaton sa add-in

apan macro-procedures, naa pud function nga macros o ingon nga sila gitawag UDF (Gihubit sa Gumagamit nga Function = gipiho nga function sa user). Maghimo kita og bulag nga module sa atong add-on (menu command Isulod – Module) ug idikit ang code sa mosunod nga function didto:

Sayon nga makita nga kini nga function gikinahanglan aron makuha ang VAT gikan sa kantidad lakip ang VAT. Dili ang binomial ni Newton, siyempre, apan mahimo kini alang kanato isip usa ka panig-ingnan aron ipakita ang sukaranang mga prinsipyo.

Timan-i nga ang syntax sa usa ka function lahi sa usa ka pamaagi:

  • gigamit ang pagtukod Kalihokan…. Katapusan nga Function sa baylo Sub ... Katapusan nga Sub
  • pagkahuman sa ngalan sa function, ang mga argumento niini gipakita sa mga bracket
  • sa lawas sa function, ang kinahanglan nga mga kalkulasyon gihimo ug dayon ang resulta gi-assign sa usa ka variable nga adunay ngalan sa function.

Timan-i usab nga kini nga function wala gikinahanglan, ug imposible nga modagan sama sa miaging macro procedure pinaagi sa dialog box Macros ug butones run. Ang ingon nga macro function kinahanglan gamiton isip usa ka standard worksheet function (SUM, IF, VLOOKUP...), ie pagsulod lang sa bisan unsang cell, nga nagtino sa kantidad sa kantidad nga adunay VAT isip argumento:

... o pagsulod pinaagi sa standard dialog box alang sa pagsal-ot sa usa ka function (button fx sa formula bar), pagpili sa usa ka kategorya Gipunting nga Gipili sa Gumagamit (Gipasabot sa Gumagamit):

Ang bugtong dili maayo nga higayon dinhi mao ang pagkawala sa naandan nga paghulagway sa function sa ilawom sa bintana. Aron idugang kini kinahanglan nimo nga buhaton ang mosunod:

  1. Ablihi ang Visual Basic Editor gamit ang keyboard shortcut alt+F11
  2. Pilia ang add-in sa Project panel ug pindota ang yawe F2aron maablihan ang bintana sa Object Browser
  3. Pilia ang imong add-in nga proyekto gikan sa drop-down list sa ibabaw sa bintana
  4. Pag-right-click sa function nga makita ug pilia ang command Properties.
  5. Pagsulod sa usa ka paghulagway sa function sa bintana Description
  6. I-save ang add-in nga file ug i-restart ang excel.

Pagkahuman sa pagsugod, ang function kinahanglan magpakita sa paghulagway nga among gisulod:

Lakang 5. Paghimo og add-on nga tab sa interface

Ang katapusan, bisan dili mandatory, apan makapahimuot nga paghikap mao ang paghimo sa usa ka bulag nga tab nga adunay usa ka butones aron mapadagan ang among macro, nga makita sa interface sa Excel pagkahuman sa pagkonektar sa among add-in.

Ang impormasyon bahin sa mga tab nga gipakita pinaagi sa default anaa sulod sa libro ug kinahanglang maporma sa espesyal nga XML code. Ang labing kadali nga paagi sa pagsulat ug pag-edit sa ingon nga code mao ang tabang sa mga espesyal nga programa - mga editor sa XML. Usa sa labing kombenyente (ug libre) mao ang programa ni Maxim Novikov Ribbon XML Editor.

Ang algorithm alang sa pagtrabaho uban niini mao ang mosunod:

  1. Isira ang tanan nga mga bintana sa Excel aron wala’y panagsumpaki sa file kung usbon namon ang add-in nga XML code.
  2. Ilunsad ang Ribbon XML Editor nga programa ug ablihi ang among MyExcelAddin.xlam file niini
  3. Uban sa buton tabs sa ibabaw nga wala nga suok, idugang ang code snippet para sa bag-ong tab:
  4. Kinahanglan nimong ibutang ang mga walay sulod nga mga kinutlo id among tab ug grupo (bisan unsang talagsaon nga mga identifier), ug sa label – ang mga ngalan sa among tab ug grupo sa mga buton niini:
  5. Uban sa buton button sa wala nga panel, idugang ang usa ka blangko nga code alang sa buton ug idugang ang mga tag niini:

    - label mao ang teksto sa buton

    — hulagwayMso — kini ang kondisyon nga ngalan sa imahe sa buton. Migamit ko og red button icon nga gitawag og AnimationCustomAddExitDialog. Ang mga ngalan sa tanan nga magamit nga mga buton (ug adunay daghang gatos niini!) Makita sa daghang mga site sa Internet kung pangitaon nimo ang mga keyword nga "imageMso". Sa pagsugod, mahimo kang moadto dinhi.

    - onAction – kini ang ngalan sa pamaagi sa callback – usa ka espesyal nga mubo nga macro nga modagan sa atong nag-unang macro FormulasToValues. Mahimo nimong tawagan kini nga pamaagi bisan unsa ang imong gusto. Atong idugang kini sa ulahi.

  6. Mahimo nimong susihon ang pagkahusto sa tanan nga nahimo gamit ang buton nga adunay berde nga marka sa tsek sa ibabaw sa toolbar. Sa parehas nga lugar, i-klik ang buton nga adunay floppy disk aron i-save ang tanan nga mga pagbag-o.
  7. Isira ang Ribbon XML Editor
  8. Ablihi ang Excel, adto sa Visual Basic editor ug idugang ang callback procedure sa among macro KillFormulasaron kini modagan sa among nag-unang macro alang sa pag-ilis sa mga pormula sa mga kantidad.
  9. Gitipigan namon ang mga pagbag-o ug, pagbalik sa Excel, susihon ang resulta:

Kana lang – ang add-in andam nang gamiton. Pun-a kini sa imong kaugalingon nga mga pamaagi ug mga gimbuhaton, pagdugang matahum nga mga butones - ug kini mahimong labi ka dali nga magamit ang mga macro sa imong trabaho.

  • Unsa ang mga macro, kung giunsa kini gamiton sa imong trabaho, kung diin makuha ang macro code sa Visual Basic.
  • Giunsa paghimo ang usa ka splash screen kung nagbukas sa usa ka workbook sa Excel
  • Unsa ang usa ka Personal nga Macro Book ug kung giunsa kini paggamit

Leave sa usa ka Reply