Ki jan yo kreye pwòp ajoute nan Microsoft Excel

Menm si ou pa konnen ki jan yo pwograme, gen anpil kote (liv, sit entènèt, fowòm) kote ou ka jwenn pare-fè kòd VBA macro pou yon gwo kantite travay tipik nan Excel. Dapre eksperyans mwen, pi fò itilizatè yo pi bonè oswa pita kolekte koleksyon pèsonèl yo nan makro pou otomatize pwosesis woutin, kit se tradui fòmil yo an valè, montre sòm yo nan mo, oswa sòm selil yo pa koulè. Ak isit la pwoblèm nan rive - kòd la macro nan Visual Basic bezwen yo dwe estoke yon kote yo nan lòd yo dwe itilize pita nan travay.

Opsyon ki pi fasil la se sove kòd makro a dirèkteman nan dosye k ap travay la lè w ale nan editè Visual Basic lè l sèvi avèk chemen kout klavye a. Alt+F11 epi ajoute yon nouvo modil vid atravè meni an Mete – Modil:

Sepandan, gen plizyè dezavantaj ak metòd sa a:

  • Si gen anpil fichye k ap travay, epi yo bezwen yon makro toupatou, tankou yon makro pou konvèti fòmil yo an valè, Lè sa a, w ap oblije kopye kòd la. nan chak liv.
  • Ou pa dwe bliye sove fichye a nan fòma makro-pèmèt (xlsm) oswa nan fòma liv binè (xlsb).
  • Lè w ap louvri yon dosye konsa pwoteksyon makro pral chak fwa bay yon avètisman ki bezwen rekonèt (byen, oswa enfim pwoteksyon konplètman, ki ka pa toujou dezirab).

Yon solisyon pi elegant ta dwe kreye pwòp ajoute ou a (Excel Add-in) – yon dosye separe nan yon fòma espesyal (xlam) ki gen tout makro "pi renmen" ou yo. Avantaj ki genyen nan apwòch sa a:

  • Li pral ase konekte add-on yon fwa nan Excel - epi ou ka itilize pwosedi VBA li yo ak fonksyon nan nenpòt ki dosye sou òdinatè sa a. Resove dosye k ap travay ou yo nan fòma xlsm- ak xlsb-, kidonk, pa obligatwa, paske. kòd sous la pa pral estoke nan yo, men nan dosye a ajoute-an.
  • Pwoteksyon ou pa pral anmède pa macros, swa. add-ons yo, pa definisyon, sous ou fè konfyans.
  • Kapab fè tab separe sou riban an Excel ak bouton bèl yo kouri ajoute-nan makro.
  • Add-in a se yon dosye separe. Li fasil pote soti nan òdinatè an òdinatè, pataje li ak kòlèg oswa menm vann li 😉

Ann mache atravè tout pwosesis la pou kreye pwòp Microsoft Excel ajoute nan etap pa etap.

Etap 1. Kreye yon dosye ajoute

Louvri Microsoft Excel ak yon liv travay vid epi sove li anba nenpòt non apwopriye (pa egzanp MyExcelAddin) nan fòma ajoute ak kòmandman an File - Sove kòm oswa kle F12, ki presize kalite fichye a Excel Add-in:

Tanpri sonje ke pa defo Excel magazen anplis nan katab C:UsersYour_nameAppDataRoamingMicrosoftAddIns, men, an prensip, ou ka presize nenpòt lòt katab ki bon pou ou.

Etap 2. Nou konekte ajoute nan kreye

Koulye a, ajoute nan nou te kreye nan dènye etap la MyExcelAddin dwe konekte ak Excel. Pou fè sa, ale nan meni an File – Opsyon – Add-ons (Fichiye — Opsyon — Add-Ins), klike sou bouton an A Pwopo (Ale) nan pati anba fenèt la. Nan fenèt la ki ouvè, klike sou bouton an Revizyon (Browse) epi presize kote dosye ajoute nou an.

Si ou te fè tout bagay byen, lè sa a nou MyExcelAddin ta dwe parèt nan lis sipleman ki disponib:

Etap 3. Ajoute makro nan ajoute nan

Add-in nou an konekte ak Excel ak travay avèk siksè, men pa gen yon sèl macro nan li ankò. Ann ranpli li. Pou fè sa, louvri editè Visual Basic ak chemen kout klavye a Alt+F11 oswa pa bouton Vizyèl Debaz tab pwomotè (Devlopè). Si onglè pwomotè pa vizib, li ka parèt nan File – Opsyon – Enstalasyon riban (Fichiye — Opsyon — Customize Riban).

Ta dwe gen yon fenèt nan kwen anwo gòch editè a Pwojè (si li pa vizib, Lè sa a, vire li nan meni an View — Pwojè Explorer):

Fenèt sa a montre tout liv travay ouvè ak kouri Microsoft Excel ajoute-ins, ki gen ladan pa nou an. VBAProject (MyExcelAddin.xlam) Chwazi li ak sourit la epi ajoute yon nouvo modil sou li atravè meni an Mete – Modil. Nan modil sa a, nou pral estoke kòd VBA makro ajoute nou yo.

Ou ka swa tape kòd la nan grafouyen (si ou konnen ki jan yo pwogram), oswa kopye li soti nan yon kote ki pare-fè (ki se pi fasil). Ann, pou fè tès la, antre kòd la nan yon makro ki senp men itil nan modil la te ajoute vid:

Apre w fin antre kòd la, pa bliye klike sou bouton an sove (diskèt) ki nan kwen anwo gòch la.

Makro nou an FormulasToValues, jan ou ka fasilman imajine, konvèti fòmil yo nan valè nan yon seri preseleksyon. Pafwa makro sa yo rele tou pwosedi. Pou kouri li, ou bezwen chwazi selil ki gen fòmil epi louvri yon bwat dyalòg espesyal Makro soti nan tab la pwomotè (Devlopè — Macro) oswa rakoursi klavye Alt+F8. Nòmalman, fenèt sa a montre makro ki disponib nan tout liv travay ouvè, men makro ajoute yo pa vizib isit la. Malgre sa, nou ka antre non pwosedi nou an nan jaden an non makro (Non makro)Lè sa a, klike sou bouton an kouri (kouri) - ak makro nou an ap travay:

    

Isit la ou ka tou bay yon chemen kout klavye pou lanse yon makro byen vit - bouton an responsab pou sa paramèt (Opsyon) nan fenèt anvan an Macro:

Lè w bay kle yo, sonje ke yo sansib ak majiskil ak layout klavye. Se konsa, si ou bay yon konbinezon tankou Ctrl+Й, Lè sa a, an reyalite, nan lavni an ou pral oblije asire w ke ou gen layout a vire sou epi peze Anplis de sa. Ka glisepou jwenn lèt majiskil la.

Pou konvenyans, nou ka ajoute tou yon bouton pou makro nou an nan ba ikòn aksè rapid nan kwen anwo gòch fenèt la. Pou fè sa, chwazi File – Opsyon – Quick Access Toolbar (Fichiye — Opsyon — Customize Quick Access Toolbar), ak Lè sa a, nan lis deroule ki anlè fenèt la opsyon a Makro. Apre sa makro nou an FormulasToValues ka mete sou panèl la ak bouton an Add (Ajoute) epi chwazi yon icon pou li ak bouton an Chanje (Edit):

Etap 4. Ajoute fonksyon nan ajoute nan

Men, macro-pwosedi yo, genyen tou makro fonksyon oswa jan yo rele yo Udf (Fonksyon defini itilizatè = fonksyon defini itilizatè). Ann kreye yon modil separe nan adisyon nou an (kòmand meni Mete – Modil) epi kole kòd fonksyon sa a la:

Li fasil pou wè ke fonksyon sa a nesesè pou ekstrè VAT soti nan kantite lajan an ki gen ladan VAT. Se pa binom Newton a, nan kou, men li pral fè pou nou kòm yon egzanp montre prensip debaz yo.

Remake byen ke sentaks yon fonksyon diferan de yon pwosedi:

  • konstriksyon yo itilize Fonksyon.... Fonksyon fen olye pou Sub … Fen Sub
  • apre non fonksyon an, agiman li yo endike nan parantèz
  • nan kò a nan fonksyon an, kalkil ki nesesè yo fèt ak Lè sa a, rezilta a asiyen nan yon varyab ak non an nan fonksyon an.

Epitou sonje ke fonksyon sa a pa nesesè, epi li enposib kouri tankou pwosedi macro anvan an nan bwat dyalòg la Makro ak bouton kouri. Yon fonksyon makro sa yo ta dwe itilize kòm yon fonksyon fèy travay estanda (SÒM, SI, VLOOKUP...), sa vle di jis antre nan nenpòt selil, espesifye valè a nan kantite lajan an ak VAT kòm yon agiman:

… oswa antre nan bwat dyalòg estanda a pou mete yon fonksyon (bouton fx nan ba fòmil la), chwazi yon kategori Itilizatè defini (Itilizatè a defini):

Sèl moman dezagreyab isit la se absans deskripsyon nòmal fonksyon an nan fon fenèt la. Pou ajoute li ou pral oblije fè bagay sa yo:

  1. Louvri Editè Visual Basic ak yon chemen kout klavye Alt+F11
  2. Chwazi ajoute a nan panèl Pwojè a epi peze kle a F2pou ouvri fenèt Navigatè Objè a
  3. Chwazi pwojè ajoute ou a nan lis deroulant ki anlè fenèt la
  4. Dwa-klike sou fonksyon an ki parèt epi chwazi lòd Pwopriyete.
  5. Antre yon deskripsyon fonksyon an nan fenèt la Deskripsyon
  6. Sove dosye a ajoute-an epi rekòmanse excel.

Apre rekòmanse, fonksyon an ta dwe montre deskripsyon nou te antre nan:

Etap 5. Kreye yon onglet ajoute nan koòdone a

Final la, men se pa obligatwa, men manyen bèl pral kreyasyon an nan yon tab separe ak yon bouton nan kouri makro nou an, ki pral parèt nan koòdone nan Excel apre konekte ajoute-an nou an.

Enfòmasyon sou onglet yo ki parèt pa defo genyen nan liv la epi yo dwe fòma nan yon kòd XML espesyal. Fason ki pi fasil pou ekri ak modifye kòd sa a se avèk èd nan pwogram espesyal - XML ​​editè. Youn nan pi pratik (ak gratis) se pwogram Maxim Novikov la Riban XML Editè.

Algorithm pou travay avèk li se jan sa a:

  1. Fèmen tout fenèt Excel pou pa gen okenn konfli dosye lè nou modifye kòd XML ajoute-an.
  2. Lanse pwogram Ribbon XML Editor epi ouvri fichye MyExcelAddin.xlam nou an ladan l
  3. Avèk bouton onglè nan kwen siperyè agòch, ajoute yon ti bout kòd pou nouvo tab la:
  4. Ou bezwen mete nan quotes vid id tab nou an ak gwoup (nenpòt idantifyan inik), ak nan mete etikèt sou - non tab nou yo ak yon gwoup bouton sou li:
  5. Avèk bouton bouton sou panèl gòch la, ajoute yon kòd vid pou bouton an epi ajoute tags sou li:

    - etikèt se tèks ki sou bouton an

    - imageMso — sa a se non kondisyonèl imaj la sou bouton an. Mwen te itilize yon icon bouton wouj ki rele AnimationCustomAddExitDialog. Non tout bouton ki disponib (e gen plizyè santèn ladan yo!) Ou ka jwenn sou yon gwo kantite sit sou entènèt la si w ap chèche mo kle "imageMso". Pou kòmanse, ou ka ale isit la.

    - onAksyon - sa a se non an nan pwosedi a callback - yon macro espesyal kout ki pral kouri macro prensipal nou an FormulasToValues. Ou ka rele pwosedi sa a tou sa ou renmen. Nou pral ajoute li yon ti kras pita.

  6. Ou ka tcheke kòrèkteman nan tout sa yo fè lè l sèvi avèk bouton ki gen yon mak vèt sou tèt ba zouti a. Nan menm kote a, klike sou bouton an ak yon diskèt pou konsève pou tout chanjman yo.
  7. Fèmen Ribbon XML Editè a
  8. Louvri Excel, ale nan editè Visual Basic epi ajoute yon pwosedi callback nan makro nou an KillFormulaskonsa ke li kouri makro prensipal nou an pou ranplase fòmil ak valè.
  9. Nou sove chanjman yo epi, retounen nan Excel, tcheke rezilta a:

Sa a tout - ajoute nan se pare pou itilize. Ranpli li ak pwosedi pwòp ou yo ak fonksyon, ajoute bèl bouton - epi li pral vin pi fasil yo sèvi ak makro nan travay ou.

  • Ki sa ki makro, ki jan yo sèvi ak yo nan travay ou, ki kote yo ka resevwa kòd macro nan Visual Basic.
  • Ki jan fè yon ekran Splash lè w ap louvri yon liv travay nan Excel
  • Ki sa ki se yon Macro Liv pèsonèl ak kouman yo sèvi ak li

Kite yon Reply